Есть документ 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' и представляет собой фрагмент в файле, где находится найденный текст.