Ricerca e sostituzione di massa (Microsoft Word)
Nel tempo è molto possibile raccogliere un numero enorme di documenti. Ad un certo punto potresti voler apportare la stessa modifica a ciascuno dei documenti nella raccolta. Ad esempio, potrebbe essere necessario modificare il nome dell’azienda all’interno di ogni documento. Ovviamente puoi aprire ogni documento, apportare la modifica e quindi salvare il documento, ma quel processo può diventare rapidamente stancante se hai centinaia o migliaia di documenti da elaborare.
Cosa fare? Coerentemente con il punto che è stato fatto in altri numeri di Suggerimenti, ogni volta che hai qualcosa di banale e faticoso da realizzare, puoi spesso usare una macro per gestire il lavoro per te. Ad esempio, potresti scrivere una macro che attraversi tutti i documenti in una directory, li carichi a turno, cerchi e modifichi il testo necessario e salvi nuovamente il documento. Questo processo non è diverso dal processo che seguiresti manualmente, tranne per il fatto che viene eseguito sotto il controllo della macro. Questo lo rende molto più facile e veloce.
Quello che segue è un esempio di una macro che potrebbe fare il trucco:
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
Questa macro è abbastanza potente e ti consente non solo di modificare il nome di una società, ma anche l’indirizzo della tua azienda. Tutto quello che devi fare è apportare modifiche per specificare la directory e l’unità da utilizzare nella ricerca, nonché le informazioni sulla società vecchia e nuova.
Se la gestione delle macro va un po ‘oltre ciò che si desidera affrontare, sono disponibili anche diversi prodotti commerciali che funzioneranno con i documenti di Word. Vari abbonati hanno suggerito i seguenti programmi:
-
WordFisher (http://www.wordfisher.com/wf4.htm)
-
Ricerca e sostituzione di parole (http://www.funduc.com/word_sr.htm)
-
InfoRapid Cerca e sostituisci (http://www.inforapid.com/html/searchreplace.htm)
-
MegaReplacer (http://www.editorium.com/14843.htm)
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (1462) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: