我可能会在这里找到一些相当简单的东西,但是我无法弄清楚为什么我得到一个“对象变量或没有设置块的对象”错误。我试图从Excel中取一个字符串,并使用VBA调用产生同义词的Word函数。这是一些可重现的简单代码,它将导致我遇到的错误:
Public Sub Tester()
Dim WD As Word.Application
Dim Syn As Word.SynonymInfo
Dim wrd As String
wrd = "Car"
Set Syn = WD.SynonymInfo(wrd)
End Sub
我确定已转到工具→参考并选择了Microsoft Word对象库,并且我还将以下代码输入到Word应用程序中而没有错误:
Public Sub Tester()
Dim Syn As SynonymInfo
Dim wrd As String
wrd = "Car"
Set Syn = SynonymInfo(wrd)
End Sub
我想知道是否有一些我没有打电话的参考?我试图从Excel中复制看到here的示例,并想知道我在Excel VBA中遗漏的声明来调用它。非常感谢你的帮助!
答案 0 :(得分:0)
您还没有创建Word应用程序对象,因此,在现有代码中,WD
仍为Nothing
- 因此您实际上是在尝试执行该语句:
Set Syn = Nothing.SynonymInfo(wrd)
正确的代码是:
Public Sub Tester()
Dim WD As Word.Application
Dim Syn As Word.SynonymInfo
Dim wrd As String
'Create a Word Application object
Set WD = New Word.Application
wrd = "Car"
Set Syn = WD.SynonymInfo(wrd)
End Sub
答案 1 :(得分:0)
您必须先set WD =
某事,然后才能说出WD.
某些内容。
例如,set WD = CreateObject ("Word.Application")
(在幕后打开Word的新实例)。当不再需要Word的实例时,不要忘记给WD.Quit
打电话。