ALTERAR TEXTO DE UMA [Ô]CAIXA DE TEXTO[Ô] DO WORD

RENE9000 08/11/2013 17:30:58
#430934
Olá pessoal.

Preciso editar um word e alterar alguns itens que existem nele.
Até ai tranquilo, porém me deparei com algo inesperado, se o texto que preciso alterar estiver dentro de uma [Ô]Caixa de Texto[Ô] do word, a alteração não é feita.
Fiz um teste diretamente no word e realmente se houver uma caixa de textos, não ocorrem alterações.

Alguém já passou por essa dor de cabeça e conseguiu resolver ?

Grato.
RENE9000 11/11/2013 13:22:21
#430973
Boa tarde pessoal.

Depois de rodar pela net e tentar adaptar vários códigos para solucionar esse problema, consegui achar um que funciona muito bem. é uma adaptação de uma rotina em VBA para VB.Net. Acertando alguns pequenos detalhes, funciona que é uma beleza.

Abaixo o link original e a rotina para quem tiver o mesmo problema.

Public Sub FindReplaceAlmostAnywhere()
Dim rngStory As Word.Range
Dim lngJunk As Long
[ô]Fix the skipped blank Header/Footer problem as provided by Peter Hewett
lngJunk = ActiveDocument.Sections( 1 ).Headers( 1 ).Range.StoryType
[ô]Iterate through all story types in the current document
For Each rngStory In ActiveDocument.StoryRanges
[ô]Iterate through all linked stories
Do
With rngStory.Find
.Text = [Ô]find text[Ô]
.Replacement.Text = [Ô]I[ô]m found[Ô]
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With
[ô]Get next linked story (if any)
Set rngStory = rngStory.NextStoryRange
Loop Until rngStory Is Nothing
Next

End Sub

Link da página original: http://word.mvps.org/faqs/customization/ReplaceAnywhere.htm

Abs,
Renê
Tópico encerrado , respostas não são mais permitidas