Я не могу понять, как перебрать текстовый документ, используя поиск и замену.
Я пытался использовать для каждого по-разному, но я не могу найти ничего, что работает. Я новичок в VBA и мало знаю об использовании объектов в программировании.
Sub Find()
Dim Rng As Range
Dim Fnd As Boolean
Set Rng = Selection.Range
With Rng.Find
.ClearFormatting
.Execute FindText:="4th", Forward:=True, _
Format:=False, Wrap:=wdFindStop
Fnd = .Found
End With
If Fnd = True Then
With Rng
.MoveStart wdCharacter, 1
.Font.Superscript = True
End With
End If
Do Until Fnd = False
With Rng.Find
.ClearFormatting
.Execute FindText:="4th", Forward:=True, _
Format:=False, Wrap:=wdFindStop
Fnd = .Found
End With
If Fnd = True Then
With Rng
.MoveStart wdCharacter, 1
.Font.Superscript = True
End With
End If
Loop
End Sub
Я ожидаю, что цикл пройдёт и изменит последние 2 цифры каждого экземпляра, где в документе word найдена строка '4th', но он изменяет только первый экземпляр слова«4-й», а затем завершает программу. В конечном счете мне нужно будет заменить все экземпляры последних 2 символов 1-го, 2-го, 3-го и т. Д. На верхние индексы. Я не смог найти подстановочный знак для этого, поэтому, если это возможно сделать с использованием подстановочного знака, пожалуйста, дайте мне знать и включите код. Спасибо!