Word VBA Макросы: скопировать в переменную неизвестное слово между 2-я известными символами

Автор zenija2007, 24 февраля 2019, 08:13

zenija2007

Есть документ word, в нем в разных местах вставлены слова между знаками #. Например, "#Объект#".
Поиск я делаю так:
Код
Sub test()
    With ActiveDocument.Content.Find
        .Text = "(#)(*)(#)"
        .Execute
        if .Found then ....
    End With
End Sub
[свернуть]

Но как прочитать слово между знаками? Как скопировать  слово между 2-я символами "#" при том, что заранее оно неизвестно?
Что делать дальше - даже примерно не знаю. Не могу найти ни где хранится результат поиска, ни как посмотреть позицию range.

[вложение удалено администратором]

Администратор

Макрос
Sub test()

    Dim var
   
    With ActiveDocument.Content.Find
   
        ' Настройка поиска.
        ' Что искать.
        .Text = "(#)(*)(#)"
        ' Галочка 'Подстановочные символы'.
        .MatchWildcards = True
       
        ' Поиск.
        If .Execute = True Then
       
            ' Запись текста из найденного фрагмента в переменную 'var'.
            var = .Parent.Text
           
            ' Отбрасывание первого и последнего символа из переменной 'var'.
            var = Mid(var, 2)
            var = Left(var, Len(var) - 1)
           
        End If
       
    End With
   
End Sub
[свернуть]


Примечания

1. Свойство 'Found' возможно нет необходимости использовать, чтобы упростить код, а достаточно проверить, что возвратит 'Execute'.
2. Parent - это объект 'Range' и представляет собой фрагмент в файле, где находится найденный текст.

zenija2007