【问题标题】:Passing Argument with Application.Run in Word VBA在 Word VBA 中使用 Application.Run 传递参数
【发布时间】:2014-11-21 17:25:36
【问题描述】:

我在我的 Word Addin (.dotm) 中定义了以下两个 Sub,我将它们放在 StartUp 目录中

Public Sub SayHi1()
    MsgBox "Hi......."
End Sub

Public Sub SayHi2(ByVal n As String)
    MsgBox "Hi " & n
End Sub

然后,我可以从一个新文档中调用 1st Sub 而无需如下参数:

Sub AppRun_AddIn_NoArg()
    Application.Run "MyProject.Module1.SayHi1"
End Sub

但是当我尝试使用参数运行第二个 Sub 时,我收到错误消息“对象不支持此属性或方法”

Sub AppRun_AddIn_WithArg()
    Application.Run "MyProject.Module1.SayHi2", "Tejas"
End Sub

错误信息:

【问题讨论】:

标签: vba ms-word


【解决方案1】:

这似乎是 Word 长期存在的问题。

作为KB190235 suggests:

原因:
您已将模板名称作为 Macroname 参数字符串的一部分。

分辨率:
从 Macroname 参数中删除模板名称。

解决方法:
为避免引用项目之间的命名冲突,请为您的过程指定唯一的名称,这样您就可以在不指定项目或模块的情况下调用过程。

【讨论】:

    猜你喜欢
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2023-03-21
    • 2013-10-15
    • 2013-08-09
    • 2017-10-15
    相关资源
    最近更新 更多