TechGeek
TechGeek

Reputation: 2212

Passing Argument with Application.Run in Word VBA

I have the following two Sub defined in my Word Addin (.dotm) which I have put in StartUp directory

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

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

Then from a new document I am able to call 1st Sub without argument as below:

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

But when I try to run the 2nd Sub with argument I get error saying "Object doesn't support this property or method"

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

Error Message: enter image description here

Upvotes: 4

Views: 8636

Answers (1)

GSerg
GSerg

Reputation: 78175

This appears to be long-standing problem with Word.

As KB190235 suggests:

Cause:
You have included a template name as part of the Macroname argument string.

Resolution:
Remove the template name from the Macroname argument.

Workaround:
To avoid naming conflicts among referenced projects, give your procedures unique names, so that you can call a procedure without specifying a project or module.

Upvotes: 3

Related Questions