vba создание событий
Есть скрипт vba, который открывает форму. Как обработать событие show(когда она показывается) в форме? И вообще как добавлять обработчики событий?
Еще хочется на форме использовать контрол выбора даты. В стандартных нету, поэтому надо OLE какое-нибудь использовать (ActiveX или чего там еще). Как?
Куда читать по этой теме?
Спасибо!
Первое событие формы - Initialize. Оно генерируется и при использовании и метода Show, и метода Load.
Если добавить в модуль кода формы вот этот код:
MsgBox "Initialize"
End Sub
то Вы увидите сообщение "Initialize" сразу после загрузки формы.
Для формы? Если - "да", то самый простой способ таков:
1. Указать курсором "мыши" на свободное поле формы (в любом месте кроме строки заголовка) и 2 раза щёлкнуть левой кнопкой.
В открывшемся окне модуля кода формы появится заготовка для кода обработки события Click. Текстовый курсор будет позиционирован внутри этой заготовки. В окне Procedure (раскрывающийся список справа, сразу под панелью инструментов) будет отображаться название события, т.е. Click.
2. Не меняя положения текстового курсора, выбрать из списка Procedure нужное событие.
Есть стандартный "контрол", именуемый Элемент управления Календарь. Найти его можно в списке дополнительных "контролов" формы (его файл - mscal.ocx).
Процедура добавления "контрола":
1. Активировать панель ToolBox формы.
2. Указать курсором "мыши" на свободное поле панели и щёлкнуть правой кнопкой.
3. В появившемся контекстном меню выбрать команду Additional Controls....
4. В списке Available Controls: найти и выбрать нужный элемент.
5. Нажать кнопку OK.
Если речь о справочной литературе, то для начала советую обратиться к встроенной справке, посмотреть раздел FAQ форума.