- Код: Выделить всё
Sub poisk()
'Поиск слов в тексте и вывод в конце документа списка номеров страниц,
'где данные слова встречаются
Dim a As String, b As String
b = InputBox("Введите искомое слово", "Запрос искомого слова")
Selection.HomeKey wdStory
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = b
.Forward = True
.Wrap = wdFindStop
.Execute
End With
If StrPtr(b) = 0 Then Exit Sub
While Selection.Find.Execute = True
a = a & CStr(Selection.Information(wdActiveEndPageNumber)) & ", "
Wend
With Selection
.EndKey Unit:=wdStory
.InsertAfter vbCr
.Collapse wdCollapseEnd
.TypeText a
End With
End Sub
Как видите, есть проверка на нажатие кнопки Отмена, но проблема с кнопкой ОК.
Мне нужно следующее:
1. Если форма пустая и пользователь нажал кнопку ОК в форме, то должно вывести сообщение и после закрытия сообщения вновь вернуться к форме. Сейчас же макрос все равно выполняется, так как ОК возвращает что-то.
Делал и так, и эдак - не получается.
Может, лучше функцию написать проверки нажатия кнопок в форме InputBox? И тогда ее можно будет использовать и в других проектах-макросах.
2. Как можно оптимизировать этот макрос?
Спасибо. Надеюсь на помощь.