【发布时间】:2023-03-21 05:45:02
【问题描述】:
我在 dotm 模板中有一个非常简单的 Word sub:
Sub YHelloThar(msg As String)
MsgBox (msg)
End Sub
然后我有一个 Excel 子:
Sub CallWordSub()
Dim wdApp As Word.Application
Dim newDoc As Word.Document
'Word template location
strFile = "C:\Some\Folder\MyWordDoc.dotm"
'Get or create Word application
Set wdApp = GetObject(, "Word.Application")
If wdApp Is Nothing Then
Set wdApp = CreateObject("Word.Application")
End If
'Create new Word doc from template
Set newDoc= wdApp.Documents.Add(strFile)
'Call the YHelloThar sub from the word doc
Call wdApp.Run(strFile & "!YHelloThar", "Hello")
End If
End Sub
最后一行给我“运行时错误'438':对象不支持此属性或方法。”
我不确定我做错了什么 - 我查找的所有内容都表明这是从不同应用程序调用 subs 的正确方法。
此外,如果我将最后一行更改为无参数调用,它会突然正常工作。
【问题讨论】:
标签: vba parameters excel arguments ms-word