Как в тексте найти фразу по заданному слову и записать фрагмент этой фразы в переменную?
Есть абзац вида:
Текст (текст), (ИД 123456), текст.
Нужно найти слово ИД, после которого пробел и одна или несколько цифр. Фраза находится внутри скобок. Макрос должен скопировать в переменную цифры, которые находятся после пробела.
Искомая фраза всегда есть в тексте, можно не делать проверку: существует фраза или нет.
Искомая фраза находится в тексте один раз.
Макрос
Sub Макрос()
Dim RegExp_ As Object, match_ As Object
Dim doc As Document, var
'1. Присваиваем имя "doc" активному файлу. Может быть так будет удобнее читать и писать код.
Set doc = ActiveDocument
'2. Создание объекта, который будет искать. Можно обойтись и без него,
' но с ним код может быть проще, не сильно нагромождённый.
Set RegExp_ = CreateObject("VBScript.RegExp")
'3. Указываем, что искать.
RegExp_.Pattern = "\(ИД \d+\)"
'4. Поиск.
Set match_ = RegExp_.Execute(doc.Range).Item(0)
'5. Запись найденного в переменную "var".
' Извлекаем данные от пятого символа и до конца фразы.
var = Mid(match_.Value, 5)
' Удаляем с конца круглую скобку.
var = Left(var, Len(var) - 1)
End Sub
Огромное спасибо.