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:
- 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
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...
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!