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

¿Cómo buscar y reemplazar en varios archivos en Word?

Si tiene varias docenas de archivos de palabras que contienen el mismo contenido (como encabezado, pie de página, algunas palabras o números especiales) y necesita reemplazar el mismo contenido en todos esos documentos en Word. ¿Cómo le resultaría más fácil hacerlo rápidamente? Ciertamente, puede abrir esos archivos uno por uno para reemplazar el mismo contenido, pero llevará mucho tiempo y será problemático. Este tutorial le mostrará una forma complicada de reemplazar el mismo contenido en varios documentos en Word a la vez.

Busque y reemplace textos en varios documentos de Word al mismo tiempo con el código VBA
Encuentre y reemplace fácilmente diferentes textos en múltiples documentos al mismo tiempo con Kutools para Word


Busque y reemplace textos en varios documentos de Word al mismo tiempo con el código VBA

1. Prensa otro + F11 para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadroMódulo, luego copie el siguiente código VBA en la ventana del Módulo.

Código VBA: buscar y reemplazar el mismo contenido en varios documentos a la vez

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. presione el F5 clave para ejecutar el código.

4. En la apertura Búsqueda de ventana, busque y seleccione los documentos que encontrará y reemplace el texto dentro, y luego haga clic en el OK botón. Ver captura de pantalla:

5. En el primero Kutools for Word cuadro de diálogo, introduzca el texto que encontrará en los documentos en el Encuentra lo que cuadro, y luego haga clic en el OK

6. En el segundo Kutools for Word cuadro de diálogo, ingrese el texto con el que reemplazará y haga clic en el OK

8. Haga clic en el OK botón en el siguiente cuadro de diálogo para finalizar la búsqueda y reemplazo.

En este caso, todas las palabras "Word" en los documentos seleccionados se reemplazan por "Excel" al mismo tiempo.


Encuentre y reemplace fácilmente diferentes textos en múltiples documentos al mismo tiempo con Kutools para Word

Aquí recomiendo encarecidamente el Buscar y reemplazar por lotes característica de Kutools for Word. Con esta función, puede encontrar y reemplazar fácilmente diferentes textos en varios documentos de Word al mismo tiempo. Veamos cómo aplicar esta función para buscar y reemplazar textos en documentos.

Kutools for Word : con más de 100 útiles complementos de Word, libre de probar sin limitación en 60 días.

1. Haga clic en Kutools Más > Buscar y reemplazar por lotes para habilitar la característica.

2. En el Buscar y reemplazar por lotes cuadro de diálogo, configure de la siguiente manera.

  • 2.1) Haga clic en Añadir fila botón debajo del Buscar y reemplazar lengüeta;
  • 2.2) En los campos de fila creados:
A. Introduzca el texto que encontrará en el cuadro de texto del Encuentra visión de conjunto
B. Ingrese el texto con el que reemplazará en el cuadro de texto en el Reemplaza columna;
C. Especifique un tipo de búsqueda, dónde encontrar el texto y un color para resaltar el texto que necesite. En este caso, selecciono Coincidencia de palabras completas, Documento principal y un cierto color del Tipo de búsqueda, Encuentre en y Destacados columnas;
  • 2.3) Repita los pasos 2.1 y 2.2 para agregar más textos que encontrará y reemplazará;
  • 2.4) Haga clic en  botón en el Tipo de Archivo sección para agregar los documentos de Word en los que encontrará y reemplazará textos;
  • 2.5) Haga clic en Reemplaza or Encuentra botón. Ver captura de pantalla:

Notas:
1. Si hace clic en el Encuentra , todos los resultados de la búsqueda se mostrarán bajo el Vista previa del resultado lengüeta. Después de obtener una vista previa de los resultados, si desea reemplazar todos los textos, haga clic en el Buscar y reemplazar lengüeta. De lo contrario, cierre el cuadro de diálogo.

2. Si hace clic en el Reemplaza , todos los textos especificados serán reemplazados por otros nuevos inmediatamente, y los resultados también se mostrarán debajo del Vista previa del resultado .

3. Si especifica colores de resaltado en el paso 2, todos los textos reemplazados se resaltarán con colores específicos, y podrá encontrarlos fácilmente de un vistazo en los documentos.

3. Cierra el Buscar y reemplazar por lotes caja de diálogo

Para obtener más información sobre esta función, haga clic aquí ....

Si desea tener una prueba gratuita de esta utilidad, vaya a descarga gratis el software primero, y luego vaya a aplicar la operación según los pasos anteriores.


Herramientas de productividad de palabras recomendadas

 

Kutools para Word: más de 100 funciones avanzadas para Word, ahorre su 50% de tiempo

  • Las operaciones complicadas y repetidas se pueden realizar un solo procesamiento en segundos.
  • Inserte varias imágenes en carpetas en un documento de Word a la vez.
  • Fusiona y combina varios archivos de Word en carpetas en uno con el orden que desees.
  • Divida el documento actual en documentos separados según el encabezado, el salto de sección u otros criterios.
  • Convierta archivos entre Doc y Docx, Docx y PDF, colección de herramientas para conversiones y selección comunes, etc.
Comentarios (70)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
¿Preguntará dónde se encuentran los documentos en cuestión? ¿O todos los documentos deben estar abiertos?
Este comentario fue minimizado por el moderador en el sitio
Cuando lo ejecute, de forma predeterminada se abrirá la ventana de diálogo "Abrir archivo" en "Mis documentos". Navegue hasta la carpeta que contiene los archivos de Word en los que desea realizar los cambios. Puede presionar "Ctrl" + "A" para seleccionar todos los archivos, o mantener presionada la tecla "Ctrl" mientras selecciona ciertos archivos. Haga clic en "Abrir" o presione "Entrar" y observe cómo ocurre la magia.
Este comentario fue minimizado por el moderador en el sitio
Sí, tengo la misma pregunta, ya que creo que esto sería útil, pero quiero decirle que solo busque en ciertas carpetas.
Este comentario fue minimizado por el moderador en el sitio
Cuando ejecute la macro, se abrirá la ventana "Abrir". Navegue a la carpeta que contiene los archivos que necesita para hacer el cambio, luego haga clic una vez en el primero, luego, mientras mantiene presionada la tecla "Ctrl", haga clic en los otros archivos que también requieren buscar/reemplazar. Si todos los archivos en la carpeta necesitan la acción, simplemente presione las teclas "Ctrl" y "A". Luego haga clic en "Abrir" o presione la tecla "Enter" y la macro comenzará. Debo advertirle, ya que he realizado esto docenas de veces en el trabajo: la macro hará que los cambios se realicen solo en el *cuerpo* del documento de Word; se excluirán los encabezados, los pies de página y el texto del título/texto alternativo. Si tiene texto en las porciones antes mencionadas que necesita ser reemplazada, tendrá que realizar una búsqueda/reemplazo estándar en documentos individuales.
Este comentario fue minimizado por el moderador en el sitio
¿Podría esta técnica de VBA adaptarse para trabajar con archivos de Publisher? Por ejemplo, cambiando *.docx a *.pub?
Este comentario fue minimizado por el moderador en el sitio
¡Wow, eres un santo por armar esta macro! Estoy escuchando 'Epic Battle Music' en Songza porque soy un gran aficionado a los macroherreros y es la única forma en que puedo superar el dolor y la agonía de crear hechizos de programación. De todos modos, mi punto que voy a hacer es que pasé mucho tiempo el viernes resolviendo problemas en la parte en la que realmente ingresaste el texto que deseas encontrar y pusiste el texto que deseas reemplazar. No entendí bien esta parte en términos de dónde pongo mi texto de palabra "buscar" y "reemplazar" texto de palabra: [cita] Nota: puede cambiar el Texto = "buscar", Reemplazo.Texto = "buscar" para especificar el contenido que se buscará y el contenido para solicitar el reemplazo. [/quote] Leí esto nuevamente hoy y deseo aclarar respetuosamente a otros no iniciados en programación: en la sección de VBA donde copió y pegó el lenguaje de programación original, asegúrese de poner un final 'después del qué y un 'después de la con (vea el ejemplo a continuación): en mi ejemplo, estoy buscando varios documentos para reemplazar Pizza con Stromboli: .Text = "Pizza" 'Find What' .Replacement.Text = "Stromboli" 'Replace With'
Este comentario fue minimizado por el moderador en el sitio
Cuando lo ejecuto, se bloquea y se detiene en: Application.Run macroname:="NEWMACROS" y cuando entro, me dice que tengo un error de compilación: no se encontró el argumento con nombre. ¿Ahora que?
Este comentario fue minimizado por el moderador en el sitio
Funcionó de maravilla y me ahorró mucho tiempo y esfuerzo. Gracias.
Este comentario fue minimizado por el moderador en el sitio
Todavía no puedo hacer que esto funcione en mi PC con Windows 7. Cuando lo ejecuto, aparece un mensaje de error en la línea: -Windows(GetStr(j)).Activate The error msg. es: -Error de compilación: -Sub o función no definida ¿Alguna idea de por qué? ¿Y como arreglarlo?
Este comentario fue minimizado por el moderador en el sitio
Esto es lo que finalmente funcionó para mí. Espero que ayude. Agregué esta macro a un archivo de Word. Ejecutará el reemplazo de cualquier documento seleccionado (puede seleccionar tantos como desee) cuando el diálogo de archivo esté abierto. No funcionará en subcarpetas, así que hice cada carpeta en la estructura de archivos individualmente, pero funcionó. Puede que no sea la mejor solución, pero al menos funciona. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 to 100) As String '100 archivos es el máximo al aplicar este código En caso de error Reanudar siguiente Establecer MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Cambie esta extensión de archivo al tipo de documento relevante. .Filters.Add "All WORD File", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Entonces para cada stiSelectedItem en .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 Terminar si Application.ScreenUpdating = False For j = 1 To i Paso 1 Establecer doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Sección y luego una u otra de las secciones del código a seguir.
Este comentario fue minimizado por el moderador en el sitio
Luego agrega una de las siguientes dos secciones dependiendo de si es una prueba o un hipervínculo para ser reemplazado '~~> Esta sección, si no está comentada, reemplazará el texto: SOLO UNA DE LAS DOS SECCIONES PUEDE SER COMENTADA A LA VEZ Con Selection.Find .Text = " http://www.google.co.uk" 'Buscar .Replacement.Text = "http://www.google.com" 'Reemplazar con .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False Terminar con Selection.Find.Execute Replace:=wdReplaceAll Application.Run macroname:="NEWMACROS" ActiveDocument.Save ActiveDocument.Close Next Application.ScreenUpdating = True End With MsgBox "fin de la operación, consulte", vbInformation '~~> Esta sección, si no está comentada, reemplazará los hipervínculos 'For i = 1 To doc.Hyperlinks.Count ' 'Si el hipervínculo coincide. ' Si LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Entonces ' 'Cambie la dirección de los enlaces. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'Cambia el texto que se muestra en los enlaces si lo deseas. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" ' End If ' Next 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next 'Application.ScreenUpdating = True 'Terminar con 'MsgBox "fin de la operación, ver", vbInformation End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Pia, estoy intentando ejecutar tu secuencia de comandos para reemplazar hipervínculos, pero recibo errores. ¿Hay alguna posibilidad de que pueda publicar el script para reemplazar los hipervínculos en una sola pieza? Debo estar estropeando algo cuando intento parchear tu código.
Este comentario fue minimizado por el moderador en el sitio
Solo se ejecuta en archivos seleccionados y los archivos deben estar en una sola carpeta. Esto se ejecuta como una macro en un documento de Word. Se ejecuta haciendo clic en un botón. Solo actualiza Word doc. Espero que esto ayude. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 to 100) As String '100 archivos es el máximo al aplicar este código En caso de error Reanudar siguiente Establecer MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Cambie esta extensión de archivo al tipo de documento relevante. .Filters.Add "All WORD File", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Entonces para cada stiSelectedItem en .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 Terminar si Application.ScreenUpdating = False For j = 1 To i Paso 1 Establecer 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 'Si el hipervínculo coincide. Si LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" Entonces 'Cambie la dirección de los enlaces. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'Cambia el texto que se muestra en los enlaces si lo deseas. 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 " fin de la operación, consulte", vbInformation End Sub
Este comentario fue minimizado por el moderador en el sitio
Esto funcionó perfectamente y me ahorró mucho tiempo. ¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola, Esto funcionó muy bien para la palabra en el cuerpo del documento pero no reemplazó la misma palabra en el encabezado. Algunas ideas. Gracias
Este comentario fue minimizado por el moderador en el sitio
Quiero cambiar el formato del texto de reemplazo. es decir, "Pizza" tiene que ser reemplazado por "Burger". ¿Cómo puede lograrse?
Este comentario fue minimizado por el moderador en el sitio
Big THX 4 el código... pero también tiene ese problema con los encabezados... sin cambios Gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
¡Gracias por publicar esto! Hice un par de pruebas y conseguí que me funcionara; sin embargo, no funciona en el texto de los encabezados y pies de página por algún motivo. ¿Hay una solución para esto?
Este comentario fue minimizado por el moderador en el sitio
Lo siento, pero no tengo idea de los encabezados o el formato. No era algo que necesitaba incluir en mi código. Nunca antes había usado esto y el código que publiqué se tomó del código original anterior y luego se modificó usando el código encontrado en otras búsquedas hasta que funcionó. Siento no poder ser de más ayuda.
Este comentario fue minimizado por el moderador en el sitio
Lo he estado probando durante los últimos minutos y realmente es una maravilla, ¡gracias! Necesito realizar varias rutinas de 'buscar y reemplazar' para varios archivos. Docenas de rutinas para docenas de archivos. ¿Hay alguna manera de 'guardar' el módulo para no tener que pegarlo nuevamente en la pantalla de VBA cada vez que necesito realizar una nueva rutina?
Este comentario fue minimizado por el moderador en el sitio
¿Es posible modificar esta macro para realizar múltiples posiciones de 'buscar y reemplazar' a la vez? Hay varias palabras y frases que necesito reemplazar y, a partir de ahora, necesito volver a insertar el código VBA para cada instancia. soy un novato en esas cosas
Este comentario fue minimizado por el moderador en el sitio
Este código me ha ahorrado mucho tiempo... así que, ¡gracias! Sin embargo, una cosa: ¿hay alguna forma de aumentar la cantidad de palabras que la macro encuentra/reemplaza? Necesito buscar/reemplazar varios párrafos a la vez y la macro parece tener un límite de aproximadamente 200 caracteres.
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL