从Excel VBA调用单词SynonymInfo对象变量

时间:2017-12-04 21:10:13

标签: excel-vba word-vba vba excel

我可能会在这里找到一些相当简单的东西,但是我无法弄清楚为什么我得到一个“对象变量或没有设置块的对象”错误。我试图从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中遗漏的声明来调用它。非常感谢你的帮助!

2 个答案:

答案 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打电话。