Ir para o conteúdo principal

Como localizar e substituir texto no documento do Word do Excel?

No documento do Word, podemos aplicar a função Localizar e substituir para localizar e substituir um texto rapidamente. Mas, se houver vários textos que precisam ser encontrados e substituídos, insira o texto um por um no recurso Localizar e substituir será demorado. Nesse caso, você pode inserir os textos localizar e substituir na lista de células e com a ajuda do código VBA no Excel para realizar esse trabalho com facilidade. Neste artigo, também apresentarei um recurso útil para localizar e substituir textos em vários documentos do Word.

Localize e substitua vários textos em um documento do Word do Excel com código VBA

Localize e substitua vários textos em vários documentos do Word do Excel com código VBA

Encontre e substitua vários textos em vários documentos do Word com um recurso poderoso


Localize e substitua vários textos em um documento do Word do Excel com código VBA

Se você deseja localizar e substituir alguns textos em apenas um arquivo do Word, o código VBA a seguir pode fazer um favor.

1. Na planilha do Excel, crie uma coluna contendo os textos que você deseja localizar e substituir e outra coluna com os textos a serem substituídos conforme a captura de tela abaixo mostrada. E então pressione Alt + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. Então clique inserção > Módulo, copie e cole o código VBA abaixo na janela.

Código VBA: Localize e substitua vários textos em um arquivo do 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. Após colar o código, ainda no Microsoft Visual Basic para Aplicações janela, clique em Ferramentas > Referências, veja a captura de tela:

4. No pop-out Referências - VBAProject caixa de diálogo, selecione o Biblioteca de objetos do Microsoft Word 16.0 na caixa de listagem, veja a captura de tela:

5. Clique OK botão para fechar a caixa de diálogo, e agora, pressione F5 key para executar este código, na janela pop-up Browse, selecione o arquivo do Word que você deseja substituir os textos, veja a captura de tela:

6. Então clique OK, na caixa de diálogo a seguir, pressione Ctrl para selecionar o texto original e as novas células de texto separadamente que você deseja usar, veja a captura de tela:

7. E então, clique OK botão, agora, os textos são encontrados e substituídos pelos novos textos em seu documento especificado, e o arquivo está abrindo também, você deve salvá-lo para manter as alterações.


Localize e substitua vários textos em vários documentos do Word do Excel com código VBA

Aqui, também crio um código VBA para localizar e substituir vários textos em vários documentos do Word, faça assim:

1. Abra o arquivo Excel que contém duas colunas de valores para substituir e substituir conforme a captura de tela abaixo mostrada e, em seguida, pressione Alt + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. Então clique inserção > Módulo, copie e cole o código VBA abaixo na janela.

Código VBA: Localize e substitua vários textos em vários arquivos do 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. Ainda no Microsoft Visual Basic para Aplicações janela, clique em Ferramentas > Referências, Na Referências - VBAProject caixa de diálogo, selecione o Biblioteca de objetos do Microsoft Word 16.0 e Tempo de execução de scripts da Microsoft opções da caixa de listagem, veja a captura de tela:

4. Depois de verificar as duas opções, e clique em OK para fechar a caixa de diálogo e, em seguida, continue pressionando o botão F5 chave para executar este código, na abertura Procurar janela, escolha uma pasta que contenha os documentos do Word que você deseja realizar a localização e substituição, veja a captura de tela:

5. Clique OK botão, na caixa de diálogo exibida, pressione Ctrl para selecionar o texto original e as novas colunas de texto separadamente que você deseja usar, veja a captura de tela:

6. Finalmente, clique em OK, e os textos originais são substituídos pelos novos nesses arquivos, após a conclusão, uma caixa de diálogo será exibida conforme a captura de tela abaixo:

7. Clique OK para fechar o diálogo. E você pode acessar os arquivos para verificar os resultados convertidos.


Encontre e substitua vários textos em vários documentos do Word com um recurso poderoso

Nesta seção, falarei sobre como localizar e substituir textos em lotes em vários documentos do Word do Word em vez do Excel. Com uma ferramenta poderosa-Kutools for Word, você pode localizar e substituir rapidamente os textos específicos e substituí-los por novos textos no arquivo principal, cabeçalho, rodapé, comentários, etc. e destacar os resultados conforme necessário.

1. Abra um arquivo do Word e clique em Kutools Plus > Localização e substituição em lote, veja a captura de tela:

2. No aberto Localização e substituição em lote caixa de diálogo, execute as seguintes operações:

  • Clique Adicionar botão para adicionar os arquivos do Word onde você deseja localizar e substituir textos;
  • No painel esquerdo, clique em Adicionar linha da fita superior;
  • No campo inserido, insira o texto original e o novo texto no Encontre e Substituir colunas separadamente que você deseja localizar e substituir. Além disso, você pode especificar uma cor para destacar os textos substituídos conforme necessário.

3. Após criar os critérios de pesquisa, clique em Substituir botão para ir para o Resultado da Antevisão guia para visualizar os resultados de localizar e substituir. Veja captura de tela:

4. Então clique Fechar botão e uma caixa de prompt é exibida para lembrá-lo se você deseja salvar este cenário, clique em Sim para salvá-lo e clique em Não para ignorá-lo, consulte a captura de tela:

Tips: Este recurso também pode ajudar a realizar as seguintes operações:
  • Localize e substitua caracteres especiais em vários documentos do Word;
  • Localize e substitua várias strings com formatação específica em vários documentos do Word;
  • Localize e substitua várias strings em vários arquivos txt/htm/html.

Clique para saber informações mais detalhadas deste recurso…

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
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