VBA для тех кто любит думать


VBA и Office XP - часть 76


Форму можно убрать с экрана и методом Hide (командой ИмяФормы.Hide или Me.Hide в одном из обработчиков событий формы). При этом значения всех переменных формы сохраняются, и к ним можно обращаться из программы согласно правилам обьектно-ориентированного языка. Например, для получения значения окна ввода текста скрытой формы используется примерно такая команда: "a=UserForm1.TextBox1.Value".

В соответствии с правилами обьектно-ориентированного языка можно обращаться и к элементам формы для задания их параметров или, наоборот, их считывания, до загрузки формы в память. При задании таким образом параметров формы при ее отображении будут использоваться именно они, а не те, которые заданы при создании формы в Окне Свойств. Однако после окончания работы программы эти изменения параметров будут потеряны, и в следующий раз форма и ее элементы будут иметь те же параметры, что и заданные в Окне Свойств изначально при их разработке, - то есть программно изменить значения параметров элементов формы, заданные в Окне Свойств при ее создании вручную, нельзя. 

Программа реакции формы на события представляет собой полноценный модуль проекта за одним исключением: процедуры из него могут быть вызваны только из другой программы. Вызов формы на исполнение с помощью кнопки, строки меню или сочетания клавиш невозможен. Поэтому для вызова формы необходимо в основной программе (если все необходимые функции реализованы в процедурах программы реакции формы на события, то основную программу все равно необходимо создать, хотя бы только для вызова этой формы) надо указать команду ИмяФормы.Show, а кнопки и сочетания клавиш назначать именно этой основной программе.

Формы, так же как и модули, могут быть сохранены в отдельных файлах путем экспортирования функцией "Экспорт файла" своего контекстного меню правой кнопки мыши в Менеджере проектов или путем перетаскивания ее названия из Менеджера проектов в Explorer. Но, в отличие от модулей, при сохранении форм получается два файла, в одном из которых содержится текст программы реакции формы на события, а в другом - информация о расположении элементов на форме, их свойствах, а также рисунки и фон формы.


Начало  Назад  Вперед