Возможно ли в word сделать так, чтобы действие выполнялось в зависимости от текста в файле?
Например если в файле есть текст «Паша», то макрос выполняет Действие1, если «Миша» - Действие2, если «Петя» - Действие3 и т.д.
Если текст найден, то остальные условия макрос не должен проверять. Например, если найден "Паша", то Мишу и Петю не надо искать.
Если ни одна фраза не найдена, то нужно сделать некоторое действие.
Макрос
Sub макрос()
Dim cln As Collection, found As Boolean, i As Long
' Записываем в коллекцию, что нужно искать.
Set cln = New Collection
cln.Add Item:="Паша"
cln.Add Item:="Миша"
cln.Add Item:="Петя"
For i = 1 To cln.Count
' Поиск по всему документу. При этом диалог "Найти и заменить" не используется.
With ActiveDocument.Range.Find
'1) Что искать.
.Text = cln(i)
'2) Поиск (Execute). При этом метод Execute вернёт True или False.
' В переменную "found" записываем, было найдено или нет.
found = .Execute
End With
' Если не найдено, то переход к поиску следующей фразы.
If found = False Then
GoTo metka_NextSearch
End If
' Если найдено, то смотрим, что найдено и выбираем, что сделать.
Select Case cln(i)
Case "Паша"
' Действия, если Паша.
Case "Миша"
' Действия, если Миша.
Case "Петя"
' Действия, если Петя.
End Select
' Остальные условия не проверяем.
Exit For
metka_NextSearch:
Next i
' Действия, если ничего не найдено.
If found = False Then
' Действия в остальных случаях.
End If
End Sub
Спасибо.