Массовый поиск и замена (Microsoft Word)
Со временем очень возможно собрать огромное количество документов. В какой-то момент вы можете захотеть внести такие же изменения в каждый из документов в коллекции. Например, вам может потребоваться изменить название компании в каждом документе. Очевидно, что вы можете открыть каждый документ, внести изменения, а затем сохранить документ, но этот процесс может быстро утомить, если вам нужно обработать сотни или тысячи документов.
Что делать? В соответствии с мыслью, высказанной в других выпусках WordTips, каждый раз, когда у вас есть что-то обыденное и утомительное, вы можете часто использовать макрос, который сделает эту работу за вас. Например, вы можете написать макрос, который будет проходить по всем документам в каталоге, загружать каждый по очереди, искать и изменять необходимый текст и повторно сохранять документ. Этот процесс ничем не отличается от процесса, который вы выполняете вручную, за исключением того, что он выполняется под управлением макроса. Это делает его намного проще и быстрее.
Ниже приведен пример макроса, который может помочь:
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 ' to display how many files this macro will access, ' uncomment the next line of code ' MsgBox "Found " & .FoundFiles.Count & " file(s)." ' 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 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 Next i Else ' if the system cannot find any files ' with the .doc extension MsgBox "No files found." End If End With End Sub
Этот макрос довольно мощный, и он позволяет вам не только изменить название компании, но и адрес вашей компании. Все, что вам нужно сделать, это внести изменения, чтобы указать, какой каталог и диск использовать при поиске, а также какова старая и новая информация о компании.
Если работа с макросами выходит за рамки того, чем вы хотите заниматься, существует также ряд различных коммерческих продуктов, которые будут работать с документами Word. Различные подписчики предложили следующие программы:
-
WordFisher (http://www.wordfisher.com/wf4.htm)
-
Поиск и замена слов (http://www.funduc.com/word_sr.htm)
-
InfoRapid Search & Replace (http://www.inforapid.com/html/searchreplace.htm)
-
MegaReplacer (http://www.editorium.com/14843.htm)
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (1462) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Mass_Search_and_Replace [Массовый поиск и замена]
.