Куби, это работает как шарм! Спасибо за помощь.

лал это вручную, где я хочу заменить каждый экземпляр 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 существует в каждом документе.

Ответы на вопрос(1)

Ваш ответ на вопрос