更改多个文档中的信息(Microsoft Word)
当您每天使用Word时,您往往会积累很多文档。如果将这些文档用于标准目的,则文档包含一些相同的信息就很常见。
例如,您的文档可能包含您提交给不同报纸和杂志的故事。尽管各个故事可能有所不同,但每个文档都可能包含您的姓名和联系信息。如果您的联系信息发生更改,或者您决定使用其他拼写作为您的姓名,则您可能渴望一次对所有文档进行通用更改的方法。
不幸的是,Word不包括这种类型的功能。您可以选择依靠第三方解决方案,也可以编写自己的宏来进行更改。有许多第三方程序提供处理多个文档时所需的搜索和替换功能类型。以下是_WordTips_订户建议的一些建议:
-
MegaReplacer(http://www.editorium.com/14843.htm)
-
WordFisher(http://www.wordfisher.com/wf4.htm)
-
单词搜索和替换(http://www.funduc.com/search_replace.htm)
-
InfoRapid搜索和替换(http://www.inforapid.com/html/searchreplace.htm)
-
高级查找和替换(http://www.abacre.com/afr/)
Word开发人员Malcom Smith还创建了一个宏,该宏将执行搜索并替换整个目录。如果要查看它,可以访问http://www.dragondrop.com。只需单击页面右侧的“查找并替换为Word”链接。
如果您不介意使用自己的宏,则以下内容将显示逐步浏览特定文件夹中的文档所固有的技术。
Public Sub MassReplace() With Application.FileSearch .LookIn = "C:\" ' where to search .SearchSubFolders = True ' search the subfolders .FileName = "*.doc" ' file pattern to match ' if more than one match, execute the following code If .Execute() > 0 Then ' for each file you find, run this loop For i = 1 To .FoundFiles.Count ' open the file based on its index position Documents.Open FileName:=.FoundFiles(i) ' search and replace the address selection.Find.ClearFormatting selection.Find.Replacement.ClearFormatting With selection.Find .Text = "OldAddress" .MatchCase = True .Replacement.Text = "NewAddress" End With selection.Find.Execute Replace:=wdReplaceAll ' replace e-mail address With selection.Find .Text = "Oldemail" .Replacement.Text = "Newemail" End With selection.Find.Execute Replace:=wdReplaceAll ' save and close the current document ActiveDocument.Close wdSaveChanges Next i Else ' if the system cannot find any files ' with the .doc extension MsgBox "No files found." End If End With End Sub
该宏功能非常强大,它不仅可以更改街道地址,还可以更改您的电子邮件地址。您所需要做的就是进行更改,以指定要在搜索中使用的目录和驱动器,以及新旧信息是什么。在宏的早期更改.Lookin参数,以指示宏应在哪里搜索;确保使用完整路径。然后,在宏的主体内,更新.Text和.Replacement.Text参数以反映您要搜索和替换的内容。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(3783)适用于Microsoft Word 97、2000、2002和2003。