在Word中查找并替换多个单词

时间:2016-06-10 15:50:24

标签: vb.net ms-word

我真的希望你们可以提供帮助,我觉得我一直在努力应该(并且可能是)一个非常简单的问题。我编写了一个创建文件夹结构的应用程序,根据用户输入在相关测试文档中复制,并使用各种变量填充文档标题和测试表。我已经用占位符(" replCustNo"," replPrjNo"," replCustRef"等)填充了模板测试文档,一些在标题中,一些在主体中该文件。我似乎只能一次替换一个单词,我无法找到列出所有引用的方法,然后列出所有替换变量。看起来像一种非常笨拙的编码方式,一遍又一遍地查找/替换,或者为它调用sub。

请原谅我,如果这是非常基本的,我对编码很新,我真的很感激一些帮助!我使用的是vb和office 365

 Dim objWordApp As New Word.Application
    'Open an existing document.  
    Dim objDoc As Word.Document = objWordApp.Documents.Open(projFolder & "SAT\2 HV Tests\Flash.doc")

    objWordApp.ActiveDocument.Sections(1).Headers(1).Range.Select()
    objWordApp.Selection.WholeStory()
    With objWordApp.Selection.Find
        .Text = "replPrjNo"
        .Replacement.Text = RefNo
        .Forward = True
    End With
    objWordApp.Selection.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)

    'Save and close the document  
    objDoc.Save()
    objDoc.Close()
    objDoc = Nothing
    objWordApp.Quit()
    objWordApp = Nothing

1 个答案:

答案 0 :(得分:2)

一种解决方案可以是文档变量。 在模板文档中选择占位符,然后选择Insert tab > Quick Parts > Field... > DocVariable > New name: replPrjNo

然后在代码中:

objDoc.Variables("replPrjNo").Value = RefNo
objDoc.Fields.Update

其他解决方案可以是书签,自定义文档属性,邮件合并或“开发人员”选项卡中的某些控件。