Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Substituir várias palavras no Word 2003

Dúvidas gerais sobre Word
engenheiro_pb
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Ter Mai 03, 2011 9:26 am

Substituir várias palavras no Word 2003

Mensagem por engenheiro_pb »

Pessoal,
preciso substituir uma determinada palavra que se encontra em vários arquivos .doc. Para não ter que abrir cada arquivo para realizar essa operação, será que alguém poderia me informar se há um programa ou uma macro que possa realizar isso.

Desde já agradeço a ajuda.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Substituir várias palavras no Word 2003

Mensagem por webmaster »

Colega,

Se for Word 2003, o código abaixo resolve:

Código: Selecionar todos

Sub FindReplaceAllDocsInFolder( )
Dim i As Integer
Dim doc As Document
Dim rng As Range

With Application.FileSearch
    .NewSearch
    .LookIn = "C:\Meus Documentos"
    .SearchSubFolders = False
    .FileType = msoFileTypeWordDocuments
    If Not .Execute( ) = 0 Then
        For i = 1 To .FoundFiles.Count
             Set doc = Documents.Open(.FoundFiles(i))
             Set rng = doc.Range
              With rng.Find
                .ClearFormatting
                .Replacement.ClearFormatting
                .Text = "Texto procurado"
                .Replacement.Text = "Texto substituto"
                .Forward = True
                .Wrap = wdFindContinue
                .Format = False
                .MatchCase = False
                .MatchWholeWord = False
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
                .Execute Replace:=wdReplaceAll
               End With

             doc.Save
             doc.Close

             Set rng = Nothing
             Set doc = Nothing
        Next i
    Else
        MsgBox "Não houve substituições " & .FileName
    End If
End With
End Sub
Se for 2007 ou superior, será preciso codificar uma rotina com FileSystemObject, provavelmente.

Referências:
http://oreilly.com/pub/h/2573


Responder