2017-03-09 189 views
2

问候所有,从Outlook宏运行Excel宏?

我正在从一个函数运行excel宏从Outlook。我的条件是运行excel宏,excel文件打开,outlook也打开

我的问题是。当我运行这个代码。 Outlook将打开另一个相同的Excel文件并要求替换保存。

我想要的是,当我从前景调用宏。它会直接从开放的Excel中触发宏。

这里是我的代码

Sub macro() 

Dim ExApp As Excel.Application 

Dim ExWbk As Workbook 

Set ExApp = New Excel.Application 

Set ExApp = ExApp.Workbooks.Open("C:\Users\Desktop\Production v2.7.1.xlsm") 
ExApp.Visible = True 



ExApp.Application.Run "'Production'!Main_function_Auto" 

ExApp.Close SaveChanges:=True 



End Sub 
+1

什么是'Production'? –

+1

生产是宏名 –

回答

1

你可以试试这个:

Sub macro() 
    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 
+2

谢谢。精湛的解决方案。这是我寻找的 –