Eu percorria cada storyRange (incluindo cabeçalhos) e usava o método .Find do intervalo em vez do objeto de seleção.
Eu tenho essa macro que é capaz de encontrar e substituir em massa vários documentos do Word. Eu sou capaz de fazer um find e substituir por imagens (dentro de um cabeçalho), mas quando eu o implementei dentro do meu código de macro, parece apenas ignorá-lo e não encontrar e substituir qualquer imagem. Não tenho certeza de porque é esse o caso, pois não há erros. Quaisquer dicas seriam extremamente apreciadas. Obrigado !!
Sub FindandReplaceTextPic()
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:=Directory & "\" & FName
' 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
'search and replace picture from clipboard
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^g"
.Replacement.Text = "^c"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
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
Eu percorria cada storyRange (incluindo cabeçalhos) e usava o método .Find do intervalo em vez do objeto de seleção.
Como localizar e substituir imagens no MS Word
O MS-Word pode ajudar no cenário dado acima. Existe uma maneira automática de localizar todas as imagens em um documento e, em seguida, substituí-las por uma nova imagem.
Por favor, note que este método irá encontrar todas as imagens e irá substituir todas elas por uma nova. Com este método, não podemos ser seletivos sobre imagens. Aqui estão os passos:
^g
na caixa "Localizar" e ^c
na caixa "Substituir por" Método para encontrar todas as imagens e substituí-las por uma nova.
Agora pressione o botão "Substituir tudo" para ver a mágica!
Todas as imagens foram substituídas no MS Word.
Você verá que todas as imagens no documento serão substituídas pela nova imagem. Naturalmente, a operação de substituição também substituirá as imagens que você não deseja substituir. Nesse caso, talvez seja necessário inserir novamente as imagens que não deviam ser substituídas. Esse método é útil em um cenário em que:
O primeiro cenário é simples. No segundo cenário, você estará fazendo muito menos trabalho manual reinserindo as imagens que foram substituídas como efeito colateral.
O método funciona substituindo todos os gráficos (indicados por ^g
) pelo conteúdo da área de transferência (indicado por ^c
). Portanto, essencialmente, você pode substituir todas as imagens por qualquer coisa que possa copiar para a área de transferência.
Para manter a paginação do seu documento intacta, você deve usar a nova imagem do mesmo tamanho.
Espero que esta dica do MS-Word tenha sido útil para você. Se você tiver alguma dúvida sobre esse assunto, sinta-se à vontade para me fazer comentários. Vou tentar te ajudar. Obrigado por usar o TechWelkin.
Artigos relacionados para mais informações: