Note: The other languages of the website are Google-translated. Back to English

Come cercare e sostituire in più file in Word?

Se hai diverse dozzine di file di parole che contengono lo stesso contenuto (come intestazione, piè di pagina, alcune parole speciali o un numero) e devi sostituire lo stesso contenuto in quei documenti in Word. Come sarebbe più facile per te farlo rapidamente? Certo, puoi aprire quei file uno per uno per sostituire lo stesso contenuto, ma sarà dispendioso in termini di tempo e fastidioso. Questo tutorial ti mostrerà un modo complicato per sostituire lo stesso contenuto all'interno di più documenti in Word contemporaneamente.

Trova e sostituisci i testi su più documenti di parole contemporaneamente con il codice VBA
Trova e sostituisci facilmente testi diversi su più documenti contemporaneamente con Kutools per Word


Trova e sostituisci i testi su più documenti di parole contemporaneamente con il codice VBA

1. Stampa altro + F11 per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserireModulo, quindi copia il seguente codice VBA nella finestra del modulo.

Codice VBA: ricerca e sostituzione dello stesso contenuto su più documenti contemporaneamente

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
    .Filters.Clear
    .Filters.Add "All WORD File ", "*.docx", 1
    .AllowMultiSelect = True
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
            GetStr(i) = stiSelectedItem
            i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
    xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
    For j = 1 To i Step 1
        Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = xFindStr  'Find What
            .Replacement.Text = xReplaceStr  'Replace With
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Application.Run macroname:="NEWMACROS"
        ActiveDocument.Save
        ActiveWindow.Close
    Next
    Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub

3. premi il F5 chiave per eseguire il codice.

4. In apertura Scopri la nostra gamma finestra, trova e seleziona i documenti che troverai e sostituisci il testo all'interno, quindi fai clic su OK pulsante. Vedi screenshot:

5. Nella prima Kutools for Word finestra di dialogo, inserisci il testo che troverai nei documenti nel file Trova quello che casella, quindi fare clic su OK pulsante.

6. Nella seconda Kutools for Word finestra di dialogo, immettere il testo da sostituire e fare clic su OK pulsante.

8. Fare clic sul OK pulsante nel prossimo Microsoft Word finestra di dialogo per terminare la ricerca e la sostituzione.

In questo caso, tutte le parole "Word" nei documenti selezionati vengono sostituite con "Excel" contemporaneamente.


Trova e sostituisci facilmente testi diversi su più documenti contemporaneamente con Kutools per Word

Qui consiglio vivamente il Trova e sostituisci in batch caratteristica di Kutools for Word. Con questa funzione, puoi facilmente trovare e sostituire testi diversi su più documenti di Word nello stesso momento. Vediamo come applicare questa funzione per trovare e sostituire i testi nei documenti.

Kutools for Word : con più di 100 utili componenti aggiuntivi di Word, libero di provare senza limitazioni in 60 giorni.

1. Fare clic su Kutools Plus > Trova e sostituisci in batch per abilitare la funzione.

2. Nel Trova e sostituisci in batch finestra di dialogo, configurare come segue.

  • 2.1) Fare clic su Aggiungere Row pulsante sotto il Trova e sostituisci scheda;
  • 2.2) Nei campi riga creati:
A. Inserisci il testo che troverai nella casella di testo in Trova colonna
B. Immettere il testo con cui si sostituirà nella casella di testo in sostituire colonna;
C. Specifica un tipo di ricerca, dove trovare il testo e un colore per evidenziare il testo di cui hai bisogno. In questo caso, seleziono Corrispondenza completa delle parole, Documento principale e un certo colore dal Tipo di ricerca, Trovare in e Highlight colonne;
  • 2.3) Ripeti i passaggi 2.1 e 2.2 per aggiungere altri testi che troverai e sostituirai;
  • 2.4) Fare clic su  nel pulsante Tipo di file sezione per aggiungere i documenti Word in cui troverai e sostituirai i testi;
  • 2.5) Fare clic su sostituire or Trova pulsante. Vedi screenshot:

Note:
1. Facendo clic su Trova tutti i risultati della ricerca verranno visualizzati sotto il pulsante Anteprima del risultato tab. Dopo aver visualizzato in anteprima i risultati, se si desidera sostituire tutti i testi, fare clic su Trova e sostituisci tab. Altrimenti, chiudi la finestra di dialogo.

2. Facendo clic su sostituire tutti i testi specificati verranno immediatamente sostituiti con quelli nuovi e i risultati verranno visualizzati anche sotto il pulsante Anteprima del risultato scheda.

3. Se si specificano i colori di evidenziazione nel passaggio 2, tutti i testi sostituiti verranno evidenziati con i colori specificati e sarà possibile trovarli facilmente a colpo d'occhio nei documenti.

3. Chiudi il Trova e sostituisci in batch Finestra di dialogo

Per ulteriori informazioni su questa funzione, per favore clicca qui....

Se vuoi avere una prova gratuita di questa utility, vai su scarica gratuitamente il software prima, quindi vai ad applicare l'operazione secondo i passaggi precedenti.


Strumenti di produttività Word consigliati

 

Kutools per Word: oltre 100 funzionalità avanzate per Word, risparmia il 50% del tempo

  • Le operazioni complicate e ripetute possono essere eseguite una sola volta in pochi secondi.
  • Inserisci più immagini tra le cartelle nel documento di Word contemporaneamente.
  • Unisci e combina più file di Word tra cartelle in uno con l'ordine desiderato.
  • Suddividi il documento corrente in documenti separati in base a titolo, interruzione di sezione o altri criteri.
  • Converti file tra Doc e Docx, Docx e PDF, raccolta di strumenti per conversioni e selezioni comuni e così via ...
Commenti (69)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Chiederà dove si trovano i documenti in questione? O tutti i documenti devono essere aperti?
Questo commento è stato fatto dal moderatore sul sito
Quando lo esegui, per impostazione predefinita si aprirà la finestra di dialogo "Apri file" su "I miei documenti". Passa alla cartella che contiene i file di Word a cui desideri apportare le modifiche. Puoi premere "Ctrl" + "A" per selezionare tutti i file o tenere premuto il tasto "Ctrl" mentre selezioni determinati file. Fai clic su "Apri" o premi "Invio" e osserva la magia.
Questo commento è stato fatto dal moderatore sul sito
Sì, ho la stessa domanda perché penso che sarebbe utile, ma voglio dirgli di guardare solo in determinate cartelle.
Questo commento è stato fatto dal moderatore sul sito
Quando esegui la macro, si aprirà la finestra "Apri". Passare alla cartella che contiene i file a cui si desidera apportare la modifica, quindi fare clic una volta sul primo, quindi, tenendo premuto il tasto "Ctrl", fare clic sugli altri file che richiedono anche il trova/sostituisci. Se tutti i file nella cartella necessitano dell'azione, basta premere i tasti "Ctrl" e "A". Quindi fare clic su "Apri" o premere il tasto "Invio" e la macro inizierà. Dovrei avvertirti, dato che l'ho eseguito dozzine di volte al lavoro: la macro comporterà le modifiche apportate solo al *corpo* del documento di Word; le intestazioni, i piè di pagina e il testo del titolo/testo alternativo verranno esclusi. Se nelle parti summenzionate è presente del testo che deve essere sostituito, sarà necessario eseguire una ricerca/sostituzione standard sui singoli documenti.
Questo commento è stato fatto dal moderatore sul sito
Questa tecnica VBA potrebbe essere adattata per funzionare con i file Publisher? Ad esempio modificando *.docx in *.pub ?
Questo commento è stato fatto dal moderatore sul sito
Wow sei un santo per aver messo insieme questa macro! Sto ascoltando "Epic Battle Music" su Songza perché sono un fabbro di Macro dilettante ed è l'unico modo in cui posso superare il dolore e l'agonia della creazione di incantesimi di programmazione. Ad ogni modo, il mio punto che intendo sottolineare è che venerdì ho passato molto tempo a risolvere i problemi della parte in cui hai effettivamente inserito il testo che vuoi trovare e inserire il testo che vuoi sostituire - non ho capito bene questa parte in termini in cui ho inserito il testo della parola "trova" e il testo della parola "sostituito": [quote]Nota:è possibile modificare Text = "cerca", Replacement.Text = "trova" per specificare il contenuto da cercare e il contenuto da richiedere per la sostituzione. [/quote] L'ho letto di nuovo oggi e desidero chiarire rispettosamente per altri non iniziati alla programmazione - nella sezione di VBA in cui hai copiato e incollato il linguaggio di programmazione originale, assicurati di porre fine ' dopo il che cosa e un 'dopo il settembre con (vedi esempio sotto) - nel mio esempio, sto cercando più documenti per sostituire Pizza con Stromboli: .Text = "Pizza" 'Trova cosa' .Replacement.Text = "Stromboli" 'Sostituisci con'
Questo commento è stato fatto dal moderatore sul sito
Quando lo eseguo, si blocca e si ferma a: Application.Run macroname:="NEWMACROS" e quando entro in esso, mi dice che ho un errore di compilazione: argomento denominato non trovato. E adesso?
Questo commento è stato fatto dal moderatore sul sito
Ha funzionato come un incantesimo e mi ha fatto risparmiare un sacco di tempo e fatica. Grazie.
Questo commento è stato fatto dal moderatore sul sito
Non riesco ancora a farlo funzionare sul mio PC con Windows 7. Quando lo eseguo, viene visualizzato un messaggio di errore nella riga: -Windows(GetStr(j)).Activate The error msg. è: -Errore di compilazione: -Sub o funzione non definiti Qualche idea sul perché? E come risolverlo?
Questo commento è stato fatto dal moderatore sul sito
Questo è ciò che alla fine ha funzionato per me. Spero possa essere d'aiuto. Ho aggiunto questa macro a un file di parole. Eseguirà la sostituzione di tutti i documenti selezionati (puoi selezionarne quanti ne vuoi) quando la finestra di dialogo del file è aperta. Non funzionerà su sottocartelle, quindi ho eseguito ciascuna cartella nella struttura del file individualmente ma ha funzionato. Potrebbe non essere la soluzione migliore ma almeno funziona. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 file è il massimo applicando questo codice In caso di errore Riprendi Avanti Imposta MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Modificare questa estensione di file nel tipo di documento pertinente. .Filters.Add "All WORD File ", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Passaggio 1 Impostare doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Sezione quindi l'una o l'altra delle sezioni di codice da seguire.
Questo commento è stato fatto dal moderatore sul sito
Quindi aggiungi una delle due sezioni seguenti a seconda che si tratti di test o collegamento ipertestuale da sostituire '~~> Questa sezione, se non commentata, sostituirà il testo - SOLO UNA DI DUE SEZIONI PUÒ ESSERE DECOMMENTATA CONTEMPORANEAMENTE Con ​​Selection.Find .Text = " http://www.google.co.uk" 'Trova cosa .Replacement.Text = "http://www.google.com" 'Sostituisci con .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False termina con Selection.Find.Execute Sostituisci:=wdReplaceAll Application.Run nome macro:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox "operazione fine, per favore visualizza", vbInformation '~~> Questa sezione, se non commentata, sostituirà i collegamenti ipertestuali 'For i = 1 To doc.Hyperlinks.Count ' 'Se il collegamento ipertestuale corrisponde. ' If LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Allora ' 'Cambia l'indirizzo dei link. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'Modifica il testo di visualizzazione dei link, se lo desideri. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" ' End If ' Next 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next 'Application.ScreenUpdating = True 'End With 'MsgBox "operazione terminata, si prega di visualizzare", vbInformation End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao Pia, sto provando a eseguire il tuo script per sostituire i collegamenti ipertestuali ma ricevo errori. Qualche possibilità che tu possa pubblicare lo script per sostituire i collegamenti ipertestuali tutto in 1 pezzo? Devo aver incasinato qualcosa quando provo a patchare il tuo codice insieme.
Questo commento è stato fatto dal moderatore sul sito
Funziona solo su file selezionati e i file devono trovarsi in una sola cartella. Questo viene eseguito come una macro in un documento di Word. Viene eseguito facendo clic su un pulsante. Aggiorna solo Word doc Spero che questo aiuti. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 file è il massimo applicando questo codice In caso di errore Riprendi Avanti Imposta MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Modificare questa estensione di file nel tipo di documento pertinente. .Filters.Add "All WORD File ", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Passaggio 1 Impostare doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To doc.Hyperlinks.Count 'Se il collegamento ipertestuale corrisponde. Se LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" Allora 'Cambia l'indirizzo dei link. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'Modifica il testo visualizzato dei link se lo desideri. doc.Hyperlinks(i).TextToDisplay = "http://www.google.co.uk" End If Next Application.Run macroname:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox " operazione terminata, visualizzare", vbInformation End Sub
Questo commento è stato fatto dal moderatore sul sito
Questo ha funzionato perfettamente e mi ha fatto risparmiare così tanto tempo. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao, ha funzionato benissimo per la parola nel corpo del documento ma non ha sostituito la stessa parola nell'intestazione. Qualche idea. Grazie
Questo commento è stato fatto dal moderatore sul sito
Voglio cambiare il formato del testo di sostituzione. cioè "Pizza" deve essere sostituito con "Burger". Come può essere raggiunto?
Questo commento è stato fatto dal moderatore sul sito
Big THX 4 il codice... ma ho anche quel prblm con le intestazioni... nessun cambiamento Grazie in anticipo
Questo commento è stato fatto dal moderatore sul sito
Grazie per aver pubblicato questo! Ho eseguito un paio di test e l'ho fatto funzionare per me; tuttavia, per qualche motivo non funziona sul testo nelle intestazioni e nei piè di pagina. C'è una correzione per questo?
Questo commento è stato fatto dal moderatore sul sito
Mi dispiace ma non ho idea delle intestazioni o del formato. Non era qualcosa che dovevo includere nel mio codice. Non l'avevo mai usato prima di me stesso e il codice che ho pubblicato è stato preso dal codice originale sopra e quindi modificato utilizzando il codice trovato in altre ricerche finché non ha funzionato. Mi dispiace non poter essere di più aiuto.
Questo commento è stato fatto dal moderatore sul sito
L'ho testato negli ultimi minuti ed è davvero una meraviglia, grazie! Devo eseguire diverse routine di "trova e sostituisci" per diversi file. Decine di routine per decine di file. C'è un modo per "salvare" il modulo in modo da non doverlo incollare di nuovo sullo schermo VBA ogni volta che devo eseguire una nuova routine?
Questo commento è stato fatto dal moderatore sul sito
È possibile modificare questa macro per eseguire più posizioni "trova e sostituisci" contemporaneamente? Ci sono diverse parole e phareses che devo sostituire e per ora devo reinserire il codice VBA per ogni istanza. Sono un noob per quanto riguarda queste cose
Questo commento è stato fatto dal moderatore sul sito
Questo codice mi ha fatto risparmiare così tanto tempo... quindi, grazie! Una cosa però: c'è un modo per aumentare il numero di parole che la macro trova/sostituisce? Ho bisogno di trovare/sostituire più paragrafi contemporaneamente e la macro sembra avere un limite di circa 200 caratteri.
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite