Buenas.
Os dejo el código fuente para reemplazar texto dentro del documento en varios archivos Word (hasta 500 por defecto) con extensión docx simultáneamente y de forma automatizada. Es necesario crear la macro en VBA. Una vez creada al ejecutarse pide que selecciones los Word que quieres cambiar, después pedirá el texto a buscar y el texto a reemplazar. Se ha probado en Word 365 y 2019.
Reemplazará hasta 500 documentos, pero se puede personalizar ese dato en el código.
Sub Reemplazar() ' 'Reemplazar - Por @oscardelacuesta 'Macro para reemplazar texto en varios documentos Word simultáneamente. 'Se ha probado en Office 365 y 2019 Dim StrDocumento As Document Dim StrEncontrar As String Dim StrReemplazar As String Dim Dialogo As FileDialog, GetStr(1 To 500) As String 'Establecer el límite de archivos On Error Resume Next 'Por si se genera algún error inesperado que avance el proceso Set Dialogo = Application.FileDialog(msoFileDialogFilePicker) With Dialogo .Filters.Clear .Filters.Add "Todos los Ficheros Word ", "*.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 StrEncontrar = InputBox("Encontrar:", "Palabra a buscar", StrEncontrar) StrReemplazar = InputBox("Reemplazar con:", "Palabra a reemplazar", StrReemplazar) For y = 1 To i Step 1 Set StrDocumento = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(y)).Activate Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = StrEncontrar 'Cadena a encontrar .Replacement.Text = StrReemplazar 'Cadena a reemplazar .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 "Operación completada con éxito. Salu2 > @oscardelacuesta", vbInformation End Sub