从Outlook宏运行Excel宏获取错误1004

时间:2013-11-25 07:55:20

标签: excel vba outlook runtime-error

我在Outlook中有一条运行VBA脚本的规则。此VBA用于打开本地Excel文件,并在Excel文件中运行宏。

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

从Excel运行Excel宏时,一切正常。

我在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

2 个答案:

答案 0 :(得分:1)

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

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

当您的工作簿名称不包含空格时,您可以在没有'单引号的情况下离开,但是您的工作簿名称不包含空格。

答案 1 :(得分:0)

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