2017-03-10 57 views
1

我想在帶有「主題」的電子郵件發送到我的收件箱時運行Excel宏。我設置了在Outlook中的管理規則&警報中運行腳本。當我收到帶有「主題」的郵件時,宏觀上沒有任何反應。如何在Outlook中收到新郵件後運行Excel宏?

Sub Test(mail As MailItem) 

    Dim ExApp As Excel.Application 
    On Error Resume Next 
    Set ExApp = GetObject(, "Excel.Application") 
    If Not ExApp Is Nothing Then 
     ExApp.Run "'C:\Users\Desktop\Production v2.7.1.xlsm'!Main_function_Auto" 
    End If 
End Sub 
+0

上的錯誤繼續下一步繞過錯誤,也有人認爲這意味着沒有任何錯誤。只要繞過錯誤的原因結束,就必須有一個On Error GoTo 0。將它放在Set ExApp = GetObject(,「Excel.Application」)後面。如果有錯誤,你可以看到它們。 – niton

回答

0

當從Outlook的調用Excel子過程中,一定要包含模塊的名字 -

Option Explicit 
Public Sub Example(Item As Outlook.MailItem) 
    Dim xlApp As Excel.Application 
    Dim xlBook As Workbook 

    Set xlApp = New Excel.Application 
    Set xlBook = xlApp.Workbooks.Open(Environ(_ 
         "USERPROFILE") & "\Desktop\Production.xlsm") 
    xlApp.Visible = True 

' // Run Macro in file 
    xlBook.Application.Run "Module1.Main_function_Auto" 

    Set xlApp = Nothing 
    Set xlBook = Nothing 
End Sub 
+0

我確實取代了這段代碼。但宏不跑也。 「USERPROFILE」)&「\ Desktop \ Production.xlsm」) userprofile在這裏做了什麼?我需要給完整的文件路徑的Excel位置? –

+0

@NadalMir你有沒有重命名模塊? – 0m3r

+0

是的,我確實重命名了模塊。 –

相關問題