Como localizar e substituir vários textos no Word utilizando o Excel?
AutorXiaoyang•Data de Modificação
No Microsoft Word, a funcionalidade Localizar e Substituir oferece uma forma eficaz de procurar e substituir rapidamente texto específico. Contudo, quando precisa de substituir vários termos diferentes, inserir manualmente cada um pode tornar-se moroso.
Para simplificar este processo, pode usar o Excel para criar uma lista dos textos a localizar e substituir e, em seguida, automatizar a tarefa com um código VBA simples. Este tutorial guia-o na utilização do Excel e do VBA para localizar e substituir vários textos num único documento do Word. Além disso, mostramos como alargar esta solução a múltiplos documentos e apresentamos uma funcionalidade poderosa do Kutools para substituição em lote de texto.
Localizar e Substituir vários textos num documento do Word a partir do Excel com código VBA
Se pretender localizar e substituir texto apenas num ficheiro do Word, o código VBA seguinte poderá ajudá-lo.
1. Na folha de cálculo do Excel, crie uma coluna com os textos que pretende localizar e substituir e outra com os respetivos textos de substituição, tal como mostrado na imagem seguinte. Em seguida, prima simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic para Aplicações.
2. Em seguida, clique em Inserir > Módulo e copie e cole o seguinte código VBA na janela.
Código VBA: Localizar e Substituir vários textos num ficheiro 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 na janela Microsoft Visual Basic para Aplicações, clique em Ferramentas > Referências, conforme mostra a imagem:
4. Na caixa de diálogo Referências – VBAProject que surge, selecione a biblioteca Microsoft Word 16,0 Object Library da lista, conforme mostra a imagem:
5. Clique no botão OK para fechar a caixa de diálogo e, em seguida, prima a tecla F5 para executar este código. Na janela Procurar que surge, selecione o ficheiro do Word cujos textos pretende substituir, conforme mostra a imagem:
6. Em seguida, clique em OK e, na caixa de diálogo seguinte, prima a tecla Ctrl para selecionar separadamente as células de Texto Original e Texto Novo que pretende utilizar, conforme mostra a imagem:
7. Em seguida, clique no botão OK e os textos serão localizados e substituídos pelo Texto Novo no seu documento especificado, sendo o ficheiro também aberto. Guarde-o para manter as alterações.
Localizar e Substituir vários textos em vários documentos do Word a partir do Excel com código VBA
Criei também um código VBA para o ajudar a localizar e substituir vários textos em múltiplos documentos do Word. Siga estes passos:
1. Abra o ficheiro do Excel que contém duas colunas com os valores a substituir e os respetivos substitutos, tal como mostrado na imagem seguinte, e prima simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic para Aplicações.
2. Em seguida, clique em Inserir>Móduloe copie e cole o código VBA seguinte na janela.
Código VBA: Localizar e Substituir vários textos em vários ficheiros 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. Na janela Microsoft Visual Basic para Aplicações, clique em Ferramentas > Referências. Na caixa de diálogo Referências – VBAProject, selecione as opções Microsoft Word 16,0 Object Library e Microsoft Scripting Runtime na lista, conforme mostra a imagem:
4. Após marcar as duas opções, clique em OK para fechar a caixa de diálogo e, em seguida, prima novamente a tecla F5 para executar este código. Na janela Procurar que se abre, escolha uma pasta que contenha os documentos do Word onde pretende realizar a operação Localizar e Substituir, conforme mostra a imagem:
5. Clique no botão OK e, na caixa de diálogo que surge, prima a tecla Ctrl para selecionar separadamente as colunas de Texto Original e Texto Novo que pretende utilizar, conforme mostra a imagem:
6. Finalmente, clique em OK e os textos originais serão substituídos pelos novos em todos esses ficheiros. Após a conclusão, surgirá uma caixa de diálogo, tal como mostrado na imagem seguinte:
7. Clique em OK para fechar a caixa de diálogo. Depois, pode aceder aos ficheiros para verificar os resultados convertidos.
Localizar e Substituir vários textos em vários documentos do Word com uma funcionalidade poderosa
Nesta secção, explico como utilizar a funcionalidade Localizar e Substituir em Lote para alterar texto em vários documentos do Word diretamente no Word — sem precisar do Excel. Com a poderosa ferramenta Kutools para Word, pode procurar eficientemente textos específicos e substituí-los por novos conteúdos no corpo principal, cabeçalhos, rodapés, comentários e muito mais, destacando ainda os resultados conforme necessário.
Kutools para Word
O Kutools para Word ajuda-o a realizar tarefas diárias com documentos de forma mais rápida, graças a ferramentas práticas integradas diretamente no Microsoft Word — sem necessidade de programação nem configuração complexa.
Redação, aperfeiçoamento, tradução e resumo com IA
Localizar e Substituir em Lote em todos os documentos
1. Abra um ficheiro do Word e, em seguida, clique em KUTOOLS PLUS > Localizar e Substituir em Lote, conforme mostra a imagem:
2. Na caixa de diálogo Localizar e Substituir em Lote aberta, realize as seguintes operações:
Clique no botão Adicionarpara adicionar os ficheiros do Word onde pretende Localizar e Substituir textos;
No painel esquerdo, clique em Adicionar Linhana parte superior do Friso;
No campo inserido, introduza o Texto Original e o Texto Novo nas colunas Localizar e Substituir, respetivamente, conforme pretende Localizar e Substituir. Além disso, pode especificar uma cor para realçar os textos substituídos, conforme necessário.
3. Após definir os critérios de pesquisa, clique no botão Substituir para aceder ao separador Pré-visualização dos Resultados e visualizar os resultados da Localizar e Substituir. Veja a imagem:
4. Em seguida, clique no botão Fechar e surgirá uma caixa de aviso a perguntar se pretende guardar este cenário. Clique em Sim para o guardar ou em Não para ignorá-lo, conforme mostra a imagem:
Dicas: Esta funcionalidade também permite realizar as seguintes operações:
Localizar e Substituir caracteres especiais em vários documentos do Word;
Localizar e Substituir várias cadeias com formatação específica em vários documentos do Word;
Localize e substitua várias cadeias em múltiplos ficheiros TXT, HTM ou HTML.
Faça Mais em Menos Tempo com o Kutools para Word Potenciado por IA
O Kutools para Word não é apenas um conjunto de ferramentas — é uma solução inteligente concebida para potenciar a sua produtividade. Com funcionalidades impulsionadas por IA e as ferramentas mais essenciais, o Kutools permite-lhe fazer mais em menos tempo:
Resuma, reescreva, componha e traduza conteúdos em tempo real.
Revise o seu texto em tempo real, com sugestões de gramática, pontuação e estilo à medida que escreve.
Reformule e traduza conteúdos, mantendo inalterados o esquema, o estilo e a estrutura.
Traduza os seus conteúdos facilmente para mais de 40 idiomas e amplie o seu alcance global.
Obtenha ajuda imediata e informações inteligentes com base no seu Documento Atual.
Pergunte como concluir uma tarefa — por exemplo, remover uma Quebra de Secção — e a IA orientá-lo-á ou executá-la-á por si.
Redija informações sensíveis ou confidenciais em segundos e garanta total privacidade.
Todas as ferramentas funcionam perfeitamente no Word, sempre ao seu alcance.
Crie, aperfeiçoe, traduza, resuma e proteja documentos com facilidade.
Melhore a gramática, a clareza e o tom enquanto escreve, em tempo real.
Reformule e traduza conteúdos sem alterar o esquema ou a formatação.
Pergunte como concluir uma tarefa — por exemplo, remover uma quebra de secção — e a IA orientá-lo-á ou executá-la-á por si.
Todas as ferramentas funcionam perfeitamente no Word, sempre à sua disposição.
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
Um instalador, uma licença— configuração em minutos (pronto para MSI)
Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
Melhor relação qualidade-preço— poupe face à compra individual dos suplementos