VBA Microsoft Word - números secuenciales
He hecho esto manualmente donde quiero reemplazar cada instancia de ZXZ con un número secuencial que comienza desde 1 hasta la última aparición de ZXZ en el documento de Word.
Básicamente, lo que intento lograr es ejecutar una macro VBA de palabra dentro de un documento de palabra específico, donde la macro VBA comienza a buscar desde la parte superior del archivo buscando cada aparición de ZXZ, reemplaza la primera aparición de ZXZ con "1 "y luego la siguiente aparición con" 2 "secuencialmente hasta que se encuentre el último ZXZ en un documento de Word.
Ejemplo de documento de Word podría contener:
elemento ZXZ elemento ZXZ ... elemento ZXZ
después de ejecutar la macro de palabra vba, me gustaría terminar con:
elemento 1 elemento 2 ... elemento 25
He hecho esto con este código, pero me gustaría hacer un bucle "while" o algo que encuentre cada aparición de ZXZ y la reemplace con números secuenciales que comiencen por "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
'' '' Básicamente sigo repitiendo el código anterior hasta llegar a 25, que generalmente es cuántas instancias de ZXZ existen en cada documento.