如何在access VBA中使用word对象查找/替换

如何在access VBA中使用word对象查找/替换,vba,ms-word,Vba,Ms Word,我正在使用access 2003,我想从硬盘上打开一个word文档,替换其中的一些文本并将其打印。这一操作类似于邮件合并,其中我有一个文档,我想在access中添加当前记录中的一些文本并将其打印。 我找到了以下代码,但它没有改变word文档中的文本 With pDoc.Content.Find .ClearFormatting .Text = "hi" .Replacement.ClearFormatting .Replacement.Text = "hello"

我正在使用access 2003,我想从硬盘上打开一个word文档,替换其中的一些文本并将其打印。这一操作类似于邮件合并,其中我有一个文档,我想在access中添加当前记录中的一些文本并将其打印。 我找到了以下代码,但它没有改变word文档中的文本

With pDoc.Content.Find
    .ClearFormatting
    .Text = "hi"
    .Replacement.ClearFormatting
    .Replacement.Text = "hello"
    .Execute Replace:=wdReplaceAll, Forward:=True, _
        Wrap:=wdFindContinue
End With
pDoc被设置为打开的文档

With pDoc.Content.Find
    .ClearFormatting
    .Text = "hi"
    .Replacement.ClearFormatting
    .Replacement.Text = "hello"
    .Execute Replace:=wdReplaceAll, Forward:=True, _
        Wrap:=wdFindContinue
End With

你知道为什么这不会改变文本吗?它运行正常,但不会将hi更改为hello;word文档未更改

引用我对该问题的回答:

在Excel中,您需要添加对Word对象模型的引用:

在makro编辑器Alt+F11中,选择“工具”菜单并单击 参考资料。。。。单击Microsoft Word对象旁边的复选框 图书馆单击“确定”。现在再次尝试运行宏

这样你就快到了


可能只缺少对Word对象库的引用。

我不确定在自动化Word或其他office应用程序时是否可以使用命名参数。尝试用它们的实际值替换它们,这些值可以在VBE的对象浏览器-F2中找到