Saltar al contenido principal

¿Cómo buscar y reemplazar texto en un documento de Word desde Excel?

Autor: Xiaoyang Última modificación: 2022-09-08

En un documento de Word, podemos aplicar la función Buscar y reemplazar para buscar y reemplazar un texto rápidamente. Pero, si es necesario encontrar y reemplazar varios textos, ingresar el texto uno por uno en la función Buscar y reemplazar llevará mucho tiempo. En este caso, puede ingresar los textos de buscar y reemplazar en la lista de celdas, y con la ayuda del código VBA en Excel para realizar este trabajo con facilidad. En este artículo, también presentaré una función útil para buscar y reemplazar textos por lotes en varios documentos de Word.

Encuentre y reemplace múltiples textos en un documento de Word desde Excel con código VBA

Encuentre y reemplace múltiples textos en múltiples documentos de Word desde Excel con código VBA

Encuentre y reemplace múltiples textos en múltiples documentos de Word con una función poderosa


Encuentre y reemplace múltiples textos en un documento de Word desde Excel con código VBA

Si desea buscar y reemplazar algunos textos en un solo archivo de Word, el siguiente código VBA puede hacerle un favor.

1. En la hoja de cálculo de Excel, cree una columna que contenga los textos que desea buscar y reemplazar, y otra columna con los textos para reemplazar, como se muestra a continuación. Y luego presione Alt+F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Luego, haz clic recuadro > Módulo, copie y pegue el siguiente código VBA en la ventana.

Código VBA: busque y reemplace varios textos en un archivo de 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. Después de pegar el código, aún en el Microsoft Visual Basic para aplicaciones ventana, haga clic Herramientas > Referencias, ver captura de pantalla:

4. En el emergente Referencias - VBAProject cuadro de diálogo, seleccione el Biblioteca de objetos de Microsoft Word 16.0 en el cuadro de lista, vea la captura de pantalla:

5. Hacer clic OK para cerrar el cuadro de diálogo, y ahora, presione F5 clave para ejecutar este código, en la ventana emergente Examinar, seleccione el archivo de Word que desea reemplazar los textos, vea la captura de pantalla:

6. Luego, haz clic OK, en el siguiente cuadro de diálogo, presione Ctrl tecla para seleccionar el texto original y las nuevas celdas de texto por separado que desea usar, vea la captura de pantalla:

7. Y luego, haga clic en OK botón, ahora, los textos se encuentran y se reemplazan con los nuevos textos en su documento especificado, y el archivo también se abre, debe guardarlo para mantener los cambios.


Encuentre y reemplace múltiples textos en múltiples documentos de Word desde Excel con código VBA

Aquí, también creo un código VBA para buscar y reemplazar varios textos en varios documentos de Word, haga lo siguiente:

1. Abra el archivo de Excel que contiene dos columnas de valores para reemplazar y reemplazar con como se muestra a continuación, y luego presione Alt+F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Luego, haz clic recuadro > Módulo, copie y pegue el siguiente código VBA en la ventana.

Código VBA: busque y reemplace varios textos en varios archivos de 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. Todavía en el Microsoft Visual Basic para aplicaciones ventana, haga clic Herramientas > Referencias, En la Referencias - VBAProject cuadro de diálogo, seleccione el Biblioteca de objetos de Microsoft Word 16.0 y Tiempo de ejecución de secuencias de comandos de Microsoft opciones del cuadro de lista, ver captura de pantalla:

4. Después de marcar las dos opciones, y haga clic en OK para cerrar el cuadro de diálogo y, a continuación, siga presionando el botón F5 clave para ejecutar este código, en la apertura Explorar ventana, elija una carpeta que contenga los documentos de Word que desea realizar la búsqueda y reemplazo, vea la captura de pantalla:

5. Hacer clic OK botón, en el cuadro de diálogo emergente, presione Ctrl tecla para seleccionar el texto original y las columnas de texto nuevo por separado que desea usar, vea la captura de pantalla:

6. Por último, haz clic OK, y los textos originales se reemplazan con los nuevos en estos archivos, después de completar, aparecerá un cuadro de diálogo como se muestra a continuación:

7. Hacer clic OK para cerrar el diálogo. Y puede ir a los archivos para verificar los resultados convertidos.


Encuentre y reemplace múltiples textos en múltiples documentos de Word con una función poderosa

En esta sección, hablaré sobre cómo buscar y reemplazar textos por lotes en varios documentos de Word desde Word en lugar de Excel. Con una poderosa herramienta-Kutools for Word, puede buscar y reemplazar rápidamente los textos específicos y reemplazarlos con nuevos textos en el archivo principal, encabezado, pie de página, comentarios, etc. y resaltar los resultados según lo necesite.

1. Abra un archivo de Word y luego haga clic en Kutools Más > Buscar y reemplazar por lotes, ver captura de pantalla:

2. En el abierto Buscar y reemplazar por lotes cuadro de diálogo, realice las siguientes operaciones:

  • Haga Clic en Añada botón para agregar los archivos de Word donde desea buscar y reemplazar textos;
  • En el panel izquierdo, haga clic en Agregar fila de la cinta superior;
  • En el campo insertado, ingrese el texto original y el nuevo texto en el Encuentre y Reemplaza columnas por separado que desea buscar y reemplazar. Además, puede especificar un color para resaltar los textos reemplazados según lo necesite.

3. Después de crear los criterios de búsqueda, haga clic en Reemplaza botón para ir a la Vista previa del resultado para ver los resultados de buscar y reemplazar. Ver captura de pantalla:

4. Luego, haz clic Cerrar y aparece un cuadro emergente para recordarle que si desea guardar este escenario, haga clic en para guardarlo y haga clic en No para ignorarlo, vea la captura de pantalla:

Propina: Esta característica también puede ayudar a lograr las siguientes operaciones:
  • Busque y reemplace caracteres especiales en varios documentos de Word;
  • Busque y reemplace varias cadenas con formato específico en varios documentos de Word;
  • Busque y reemplace varias cadenas en varios archivos txt/htm/html.

Haga clic para conocer información más detallada de esta función...

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great, thank you! Is there a way to make the replacement text carry hyperlinks over? ie - if you have a hyperlinked replacement in the excel sheet, it is still hyperlinked in the Word doc?

Thanks!
This comment was minimized by the moderator on the site
Is there a way too modify this too find text and create hyperlink on the text from another column where i have the links already created? It worked correctly as a find and replace for me. Thanks
This comment was minimized by the moderator on the site
Hi,

I am wondering how this can be modified to also find and replace text in footnotes?

Thanks!
This comment was minimized by the moderator on the site
Hello, Nate,
If you want to find and replace the text in footnotes at the same time, maybe the Kutools for Word's Batch Find and Replace feature can help you.
You just need to check Main document and Footnotes from the Find in section, see below image:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word.png
This comment was minimized by the moderator on the site
It doesn't work.

Compile error: User-defined type not defined
This comment was minimized by the moderator on the site
Hello, Param
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
This comment was minimized by the moderator on the site
Sorry for the overdue reply. I have replied before, but my reply dissapeared somehow. You're right, the code does work well. But it replaced nothing when I tried it on a file with more than 80,000 lines.
This comment was minimized by the moderator on the site
Hello, Param
I have tested the code, it works well in my Word docuent which contains 140,000 lines.
Do you mind to upload your attachment here for testing?
Or you can apply our Kutools for Word's Batch Find and Replace feature, it can help you with ease.
Thank you!
This comment was minimized by the moderator on the site
Greetings,
the first code :
VBA code: Find and replace multiple texts in one Word file

thows error : compile error user defined type not defined
https://i.imgur.com/FZPBy4I.png
This comment was minimized by the moderator on the site
Hello, Erik
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations