VBA Microsoft Word - números sequenciais
Fiz isso manualmente onde quero substituir todas as instâncias do ZXZ por um número seqüencial que comece de 1 até a última ocorrência do ZXZ no documento do word.
Basicamente, o que estou tentando obter é executar uma macro VBA do Word em um documento do Word específico, onde a macro VBA começa a pesquisar na parte superior do arquivo, procurando por cada ocorrência de ZXZ, substituindo a primeira ocorrência de ZXZ por "1" e, em seguida, na próxima ocorrência com "2" sequencialmente até o último ZXZ encontrado em um documento do word.
Exemplo de documento do Word pode conter:
elemento ZXZ elemento ZXZ ... elemento ZXZ
depois de executar a macro vba word, gostaria de terminar com:
elemento 1 elemento 2 ... elemento 25
Eu fiz isso com esse código, mas gostaria de fazer um loop "while" ou algo que encontre cada ocorrência de ZXZ e substitua-o por números sequenciais a partir de "1"
Sub my_prov_MDList()
'
' my_prov_MDList Macro
'
'
Selection.MoveUp Unit:=wdScreen, Count:=7
Selection.HomeKey Unit:=wdLine
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "ZXZ"
.Replacement.Text = "1"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
With Selection.Find
.Text = "ZXZ"
.Replacement.Text = "2"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
'' '' Basicamente, continuo repetindo o código acima até chegar a 25, que normalmente é quantas instâncias de ZXZ existem em cada documento.