Куби, это работает как шарм! Спасибо за помощь.
лал это вручную, где я хочу заменить каждый экземпляр ZXZ последовательным числом, начиная с 1 до последнего появления ZXZ в текстовом документе.
По сути, я пытаюсь добиться запуска макроса слова VBA в определенном текстовом документе, где макрос VBA начинает поиск в верхней части файла, просматривая каждое вхождение ZXZ, заменяя первое вхождение ZXZ на «1». и затем следующее вхождение с «2» последовательно до последнего ZXZ, найденного в текстовом документе.
Пример слова документа может содержать:
элемент ZXZ элемент ZXZ ... элемент ZXZ
после запуска макроса слова VBA я хотел бы в конечном итоге:
элемент 1 элемент 2 ... элемент 25
Я сделал это с помощью этого кода, но я хотел бы сделать цикл "while" или что-то, что находит каждое вхождение ZXZ и заменяет его последовательными числами, начинающимися с "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
'' '' Я в основном повторяю приведенный выше код до тех пор, пока не доберусь до 25, что, как правило, означает, сколько экземпляров ZXZ существует в каждом документе.