Как сохранить результаты .find в массиве?
Этот макрос использует подстановочные знаки для поиска каждой строки, которая находится между <sm>
до <fin>
Selection.Find.ClearFormatting
With Selection.Find
.Text = "<sm>?<fin>"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
и эта часть подсчитывает, сколько <sm>
существует в тексте, чтобы определить длину массива:
Dim I As Long
Dim J As Long
Dim NumSm As Long
Dim TargetText As String
TargetText = "<sm>"
J = 1
I = 1
While I > 0
I = InStr(J, ActiveDocument.Range.Text, TargetText)
If I > 0 Then
NumSm = NumSm + 1
J = I + 1
End If
Wend
Dim SmArr() As Variant
ReDim SmArr(0 To NumSm)
Я хочу сохранить результаты поиска в массиве: SmArr()
.