Bug no Microsoft Word com Find e Replace ao pesquisar texto contendo um hiperlink?

2

Eu estava tentando substituir um texto por um endereço de e-mail no meio dele em um documento do Word. Se eu só usar o comando Localizar, ele funcionará bem e o Microsoft Word localizará o texto que eu queria substituir.

Oproblemavemquandoeurealmentetentofazerasubstituição,entãomisteriosamenteoWordmedizqueotextonãofoiencontrado(omesmotextoemesmodocumento),entãoinfelizmentenãoforamfeitassubstituições.

É porque o endereço de email é tratado como um hiperlink. Se eu remover o hiperlink, ele funciona muito bem, mas isso não é uma solução para mim, porque eu estou tentando fazer um programa para o uso de muitas pessoas e, por padrão, a opção de fazer automaticamente o endereço de e-mail de um hiperlink é ativado no Word .

Existe alguma solução para resolver isso? Estou pensando em outras opções, mas se isso pudesse ser feito com o comando replace do Word, seria muito mais fácil para mim.

Para a informação: Eu testei isso em um Microsoft Office 2003 e no Microsoft Office 2013. Ele também não funciona, por isso não é um problema relacionado à versão, mas algo geral para todas as versões do Microsoft Word.

    
por Oscar Hermosilla 04.12.2014 / 17:17

1 resposta

2

Você pode usar o VBA ...

1) Remova todos os hiperlinks (deixando o texto).

Sub RemoveHyperlinks()
     With ThisDocument
         While .Hyperlinks.Count > 0
            .Hyperlinks(1).Delete
         Wend
     End With
End Sub

2) Faça sua pesquisa e substitua ...

3) Recrie todos os hiperlinks (se o usuário tiver a opção de hiperlink automático no Word ativada):

Sub ReformatDocument()
     Selection.WholeStory
     Selection.Document.Kind = wdDocumentNotSpecified
     Selection.Range.AutoFormat
End Sub

Além disso, se você quiser ativar ou desativar a opção de autocorreção real para hiperlinks automáticos, use "Application.Options.AutoFormatAsYouTypeReplaceHyperlinks":

, ou seja: Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = False

    
por 04.12.2014 / 19:02