批量搜索和替换(Microsoft Word)
随着时间的流逝,很有可能收集大量文档。在某些时候,您可能希望对集合中的每个文档进行相同的更改。例如,您可能需要在每个文档中更改公司名称。显然,您可以打开每个文档,进行更改,然后保存文档,但是如果您要处理数百或数千个文档,则该过程可能会变得很累人。
该怎么办?与_WordTips的其他问题中指出的观点一致,只要您要完成一些平凡而繁琐的工作,就可以经常使用宏为您处理工作。例如,您可以编写一个宏,该宏将逐步浏览目录中的所有文档,依次加载每个文档,搜索并更改必要的文本,然后重新保存文档。此过程与您手动执行的过程没有什么不同,只不过它是在宏的控制下完成的。这使得它变得更加容易和快捷。
下面是一个可以完成上述操作的Word宏示例:
Public Sub MassReplace() Dim Directory As String Dim FType As String Dim FName As String Directory = "d:\temp" FType = "*.docx" ChDir Directory FName = Dir(FType) ' for each file you find, run this loop Do While FName <> "" ' open the file Documents.Open FileName:=FName ' search and replace the company name selection.Find.ClearFormatting selection.Find.Replacement.ClearFormatting With selection.Find .Text = "OldCompanyName" .MatchCase = True .Replacement.Text = "NewCompanyName" End With selection.Find.Execute Replace:=wdReplaceAll ' replace street address With selection.Find .Text = "OldStreetAddress" .Replacement.Text = "NewStreetAddress" End With selection.Find.Execute Replace:=wdReplaceAll ' replace the City, State, and Zip code With selection.Find .Text = "OldCityStateAndZip" .Replacement.Text = "NewCityStateAndZip" End With selection.Find.Execute Replace:=wdReplaceAll ' save and close the current document ActiveDocument.Close wdSaveChanges ' look for next matching file FName = Dir Loop End Sub
这个宏非常强大,它不仅可以更改公司名称,还可以更改公司地址。您所需要做的就是进行更改,以指定要在搜索中使用的目录和驱动器,以及新旧公司信息是什么。
如果处理宏超出了您要解决的范围,那么还有许多可用于Word文档的不同商业产品。各种订户建议了以下程序:
-
单词搜索和替换(http://www.funduc.com/word_sr.htm)
-
InfoRapid搜索和替换(http://www.inforapid.com/html/searchreplace.htm)
-
MegaReplacer(http://www.editorium.com/14843.htm)
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(8477)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: