2011-04-13 96 views
0

我正在使用access 2003,我想从硬盘上打开一个word文档并替换它中的一些文本并将其打印出来(类似于邮件合并的操作,其中我有一个文档,我想添加一些来自当前记录的文本来访问文档并打印它)。 我发现下面的代码,但它不会更改word文档中的文本。如何在访问VBA中使用word对象查找/替换

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

并且pDoc被设置为打开的文档。

任何想法为什么这不会改变文本? (它运行正常,但为hello不会改变喜; Word文档不改变)

+0

我不确定在自动化单词或其他办公应用程序时可以使用命名参数/参数。尝试用它们的实际值替换它们(您可以在对象浏览器中找到它 - VBE中的F2) – 2011-04-13 22:33:20

回答

0

从我的回答引用了这个问题: Excel VBA: How to use ListTemplates in Excel to control Word?

在Excel中,您需要添加一个参考Word对象模型:

在万客隆编辑器(ALT + F11)选择“工具”菜单,然后单击 “引用...”。点击“Microsoft Word Object Library”旁边的复选框。点击“确定”。现在尝试再次运行宏。

这应该会让你快到那里。

也许所有缺少的是对Word对象库的引用。