从Outlookmacros运行Excelmacros获取错误1004

我在Outlook中运行VBA脚本的规则。 这个VBA是打开一个本地Excel文件,然后在Excel文件中运行这个macros。

运行时,打开Excel文件,我得到错误:运行时错误1004:无法运行macros'问我的问题workflow.xlsm!AskMeFlow'。 macros可能不在此工作簿中可用或所有macros可能被禁用。

从Excel运行Excelmacros时,所有运行正常。

我在Outlook中的代码:

Sub AskMeAlerts() Dim appExcel As Excel.Application Dim wkb As Excel.Workbook Set appExcel = CreateObject("Excel.Application") appExcel.Workbooks.Open ("C:\Ask me question workflow.xlsm") appExcel.Visible = True appExcel.Run "Ask me question workflow.xlsm!AskMeFlow" appExcel.ActiveWorkbook.Close appExcel.Quit Set appExcel = Nothing Set wkb = Nothing End Sub 

您必须在'单引号'包含工作簿名称:

 appExcel.Run "'Ask me question workflow.xlsm'!AskMeFlow" 

当您的工作簿名称不包含空格时,您可以不使用单引号,但是您的工作簿名称不包含空格。

即使工作簿名称不包含空格,运行Excel 2010macros的Outlook 2010似乎也需要单引号(请参阅前面的答案)。 如果没有他们,Office 2003中的工作将无法在2010年工作。