Localizar e substituir em massa - Microsoft Word 2013

0

Estou tentando criar uma macro para fazer uma descoberta em massa e substituí-la em vários documentos do Word. Eu encontrei este na net e alterei para também aplicar para gráficos no entanto eu continuo recebendo um erro de tempo de execução (5174) dizendo que o arquivo não pôde ser encontrado (mesmo que seja definitivamente na pasta).

Eu acredito que o problema é este: support.microsoft.com/en-us/kb/212664 mas estou tendo um pouco de dificuldade para implementá-lo em minha Macro simplesmente adicionando ".docx" depois que cada nome Fname não parece para trabalhar.

Eu tenho experiência limitada com Macros, então peço desculpas se essa é uma pergunta novata.

Qualquer ajuda seria muito apreciada.

Obrigado.

Sub ReplaceText()
Dim Directory As String
Dim FType As String
Dim FName As String

Directory = "C:\Users\pieria\Desktop\TempPics"
FType = "*.docx"

ChDir Directory
FName = Dir(FType)
' for each file you find, run this loop
Do While FName <> ""
' open the file
Documents.Open FileName:=FName  '<--Error is supposedly here 

' search and replace the company name
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "CompanyA"
    .MatchCase = True
    .Replacement.Text = "CompanyB"
End With
Selection.Find.Execute Replace:=wdReplaceAll

' save and close the current document
ActiveDocument.Close wdSaveChanges

' look for next matching file
FName = Dir
Loop 
End Sub
    
por Antonio 01.10.2015 / 12:10

1 resposta

0

Espero que a instância atual não esteja ciente do ChDir que você fez. É melhor especificar o caminho completo ao abrir o arquivo:

 ' open the file
 Documents.Open FileName:= Directory & "\" & FName 

Eu concateno a string em Directory e FName com o operador & .

Então, se Directory contiver C:\Users\pieria\Desktop\TempPics e FName contiver First.docx com & , você criará uma nova string C:\Users\pieria\Desktop\TempPics\First.docx

Observe o \ I adicionado entre o nome do diretório e o nome do arquivo ...

    
por 01.10.2015 / 13:01