【问题标题】:Running Excel macro from Outlook macro getting error 1004从 Outlook 宏运行 Excel 宏出现错误 1004
【发布时间】:2013-11-25 07:55:19
【问题描述】:

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

【问题讨论】:

    标签: excel vba outlook runtime-error


    【解决方案1】:

    您必须将工作簿名称括在' 单引号中:

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

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

    【讨论】:

    • + 1 你着火了!:)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多