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

Come trovare e sostituire il testo nel documento di Word da Excel?

Nel documento di Word, possiamo applicare la funzione Trova e sostituisci per trovare e sostituire rapidamente un testo. Tuttavia, se è necessario trovare e sostituire più testi, inserire il testo uno per uno nella funzione Trova e sostituisci richiederà molto tempo. In questo caso, puoi inserire i testi di ricerca e sostituzione nell'elenco delle celle e con l'aiuto del codice VBA in Excel per eseguire facilmente questo lavoro. In questo articolo, introdurrò anche un'utile funzionalità per trovare e sostituire in batch i testi in più documenti Word.

Trova e sostituisci più testi in un documento Word da Excel con codice VBA

Trova e sostituisci più testi in più documenti Word da Excel con codice VBA

Trova e sostituisci più testi in più documenti Word con una potente funzionalità


Trova e sostituisci più testi in un documento Word da Excel con codice VBA

Se vuoi trovare e sostituire alcuni testi in un solo file Word, il seguente codice VBA può farti un favore.

1. Nel foglio di lavoro di Excel, crea una colonna contenente i testi che desideri trovare e sostituire e un'altra colonna con i testi da sostituire come mostrato nell'immagine sottostante. E poi premere Alt + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. Quindi, fare clic inserire > Modulo, copia e incolla il codice VBA sottostante nella finestra.

Codice VBA: trova e sostituisci più testi in un file Word

Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
  With xDoc.Application.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = xRng.Areas.Item(1).Cells.Item(I).Value
    .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
  End With
  xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
  Set xRng = Nothing
  Set xFileDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Dopo aver incollato il codice, ancora nel file Microsoft Visual Basic, Applications Edition finestra, fare clic Strumenti > Riferimenti, vedi screenshot:

4. Nel saltato fuori Riferimenti - VBAProject finestra di dialogo, selezionare il Libreria di oggetti di Microsoft Word 16.0 dalla casella di riepilogo, vedi screenshot:

5. Clic OK per chiudere la finestra di dialogo e ora premere F5 chiave per eseguire questo codice, nella finestra a comparsa Sfoglia, selezionare il file di Word che si desidera sostituire i testi, vedere screenshot:

6. Quindi, fare clic OK, nella seguente finestra di dialogo, premere Ctrl tasto per selezionare separatamente il testo originale e le nuove celle di testo che desideri utilizzare, vedi screenshot:

7. Quindi fare clic su OK pulsante, ora i testi vengono trovati e sostituiti con i nuovi testi nel documento specificato e anche il file si sta aprendo, dovresti salvarlo per mantenere le modifiche.


Trova e sostituisci più testi in più documenti Word da Excel con codice VBA

Qui creo anche un codice VBA per trovare e sostituire più testi in più documenti Word, per favore fai come segue:

1. Aprire il file Excel che contiene due colonne di valori da sostituire e sostituire come mostrato nell'immagine sottostante, quindi premere Alt + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. Quindi, fare clic inserire > Modulo, copia e incolla il codice VBA sottostante nella finestra.

Codice VBA: trova e sostituisci più testi in più file Word

Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
  If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
    Set xDoc = xWordApp.Documents.Open(xFile.Path)
    For I = 1 To xRng.Areas.Item(1).Cells.Count
      With xDoc.Application.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = xRng.Areas.Item(1).Cells.Item(I).Value
        .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
      End With
      xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
    Next
    xDoc.Close wdSaveChanges
  End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
  Set xRng = Nothing
  Set xFolderDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Ancora in Microsoft Visual Basic, Applications Edition finestra, fare clic Strumenti > Riferimenti, Nella Riferimenti - VBAProject finestra di dialogo, selezionare il Libreria di oggetti di Microsoft Word 16.0 e Runtime di script Microsoft opzioni dalla casella di riepilogo, vedere screenshot:

4. Dopo aver controllato le due opzioni, e fare clic OK per chiudere la finestra di dialogo, quindi continuare a premere il tasto F5 chiave per eseguire questo codice, nell'apertura Scopri la nostra gamma finestra, scegli una cartella contenente i documenti di Word che desideri eseguire la ricerca e la sostituzione, vedi screenshot:

5. Clic OK pulsante, nella finestra di dialogo visualizzata, premere Ctrl tasto per selezionare separatamente il testo originale e le nuove colonne di testo che desideri utilizzare, vedi screenshot:

6. Infine, fai clic OKe i testi originali vengono sostituiti con quelli nuovi in ​​questi file, dopo il completamento, verrà visualizzata una finestra di dialogo come mostrato nell'immagine seguente:

7. Clic OK per chiudere la finestra di dialogo. E puoi andare ai file per controllare i risultati convertiti.


Trova e sostituisci più testi in più documenti Word con una potente funzionalità

In questa sezione parlerò di come trovare e sostituire in batch i testi in più documenti Word da Word anziché da Excel. Con un potente strumento-Kutools for Word, puoi trovare e sostituire rapidamente i testi specifici e sostituirli con nuovi testi nel file principale, intestazione, piè di pagina, commenti, ecc. ed evidenziare i risultati di cui hai bisogno.

1. Aprire un file di Word, quindi fare clic Kutools Plus > Trova e sostituisci in batch, vedi screenshot:

2. In aperto Trova e sostituisci in batch finestra di dialogo, eseguire le seguenti operazioni:

  • Clicchi Aggiungi pulsante per aggiungere i file di Word in cui si desidera trovare e sostituire i testi;
  • Nel riquadro sinistro, fare clic Aggiungi riga dal nastro superiore;
  • Nel campo inserito, inserisci il testo originale e il nuovo testo in Trova e sostituire colonne separatamente che si desidera trovare e sostituire. Inoltre, puoi specificare un colore per evidenziare i testi sostituiti di cui hai bisogno.

3. Dopo aver creato i criteri di ricerca, fare clic su sostituire pulsante per andare al Anteprima del risultato scheda per visualizzare i risultati di ricerca e sostituzione. Vedi screenshot:

4. Quindi, fare clic Chiudi e viene visualizzata una finestra di messaggio per ricordare all'utente se si desidera salvare questo scenario, fare clic su per salvarlo e fare clic su Non per ignorarlo, vedi screenshot:

Suggerimenti:: Questa funzione può anche aiutare a realizzare le seguenti operazioni:
  • Trova e sostituisci caratteri speciali in più documenti di Word;
  • Trova e sostituisci più stringhe con una formattazione specifica in più documenti Word;
  • Trova e sostituisci più stringhe in più file txt/htm/html.

Fare clic per conoscere informazioni più dettagliate su questa funzione...


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (4)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Saluti,
il primo codice:
Codice VBA: trova e sostituisci più testi in un file Word

genera errore: errore di compilazione tipo definito dall'utente non definito
https://i.imgur.com/FZPBy4I.png
Questo commento è stato fatto dal moderatore sul sito
Ciao Erik
Il codice funziona bene.
Forse non hai controllato Libreria di oggetti di Microsoft Word 16.0 dal Riferimenti - VBAProject la finestra di dialogo.
Significa che potresti perdere il passaggio 3 e il passaggio 4 di questo articolo.
Per favore riprova, se hai ancora qualche altro problema, per favore commenta qui.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Questo commento è stato fatto dal moderatore sul sito
Non funziona

Errore di compilazione: tipo definito dall'utente non definito
Questo commento è stato fatto dal moderatore sul sito
Ciao, Param
Il codice funziona bene.
Forse non hai controllato Libreria di oggetti di Microsoft Word 16.0 dal Riferimenti - VBAProject la finestra di dialogo.
Significa che potresti perdere il passaggio 3 e il passaggio 4 di questo articolo.
Per favore riprova, se hai ancora qualche altro problema, per favore commenta qui.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL