В файле есть фраза "Привет 2 (1.1.1) Мой друг и как твои дела".
Поиском в тексте нахожу слово "Привет" и ставлю курсор после этого слова.
Необходимо в переменную a поместить значение 2, а в переменную b значение 1.1.1.
Сложность заключается еще в том, что количество пробелов между словами "Привет" и "Мой" может быть разное.
Макрос
Sub Макрос()
Dim doc As Document, курсор As Range
Dim начало As Long, конец As Long
Dim слово1 As String, слово2 As String
' Присваиваем документу имя "doc", чтобы дальше обращаться к документу по этому имени.
Set doc = ActiveDocument
' Поиск нужного фрагмента.
With doc.Range.Find
.Text = "Привет"
If .Execute = True Then
' Присваиваем найденному фрагменту имя "курсор".
Set курсор = .Parent.Duplicate
' Превращение курсора в точку вставки и вставка точки вставки после
' найденного фрагмента.
' Мысленно можно так представить. Когда нашли, то у нас выделенный фрагмент.
' Точка вставки - это мигающий курсор.
курсор.Collapse Direction:=wdCollapseEnd
End If
End With
' Если не найдено.
If курсор Is Nothing Then
MsgBox "Не найдно.", vbExclamation
Exit Sub
End If
' Запись первого слова в переменную.
ПолучитьНачало курсор, начало
ПолучитьКонец курсор, конец
слово1 = doc.Range(начало, конец).Text
' Запись второго слова в переменную.
ПолучитьНачало курсор, начало
ПолучитьКонец курсор, конец
слово2 = doc.Range(начало, конец).Text
End Sub
Private Sub ПолучитьНачало(курсор As Range, начало As Long)
' Двигаем курсор вправо, пока справа от курсора пробел.
курсор.MoveWhile Cset:=" ", Count:=wdForward
начало = курсор.Start
End Sub
Private Sub ПолучитьКонец(курсор As Range, конец As Long)
' Двигаем курсор вправо до первого пробела.
курсор.MoveUntil Cset:=" ", Count:=wdForward
конец = курсор.Start
End Sub