Некоторые свойства форм
Большая часть основных свойств относится к внешнему виду, размерам и местонахождению окон.
- Свойство Name задаёт имя формы. После создания первой формы в проекте она по умолчанию получает стандартное имя UserForm1, второй – UserForm2, и т.д., которое рекомендуется заменить на такое, чтобы оно указывало на назначение формы.
- Свойство Caption задаёт заголовок формы. Значение этого свойства также рекомендуется назначить таким, чтобы оно указывало на назначение формы, например, "Выполнение плана".
- Свойство Enabled используется для временного отключения формы.
Некоторые методы форм
Во время редактирования формы её можно запускать нажатием клавиши F5. После того, как форма будет готова, нужно обеспечить её запуск в документе. Для этого нужно воспользоваться методом Show:
UserForm1.Show
Если форма уже была загружена в память, она просто станет видимой, если еще нет, то будет автоматически загружена (произойдет событие Load).
Эту команду, можно вызвать, например:
- из обычного макроса, назначенного кнопкой или комбинацией клавиш или запускаемого файлом автозапуска Auto_Exec;
- из кода для элемента управления, расположенного в самом документе, например, CommandButton или на другой форме – для перехода между формами.
После того, как пользователь введет или выберет нужные данные на форме и нажмет на требуемую кнопку, форму необходимо убрать. Можно для этой цели воспользоваться двумя способами:
- использовать метод Hide:
UserForm1.Hide
Форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент удаления с экрана. Окончательно форма удалится из памяти при закрытии документа.
- если форма в процессе работы приложения больше не потребуется, можно ее удалить из памяти при помощи команды Unload:
Unload UserForm1
Остальные методы относятся либо к обмену данными через буфер обмена: Copy, Cut, Paste, либо к служебным возможностям формы: PrintForm, Repaint, Scroll.
Важнейшая концепция VBA – события. Событие (event) – это то, что происходит с программой и может быть ей распознано. Например, к событиям относятся щелчки мышью, нажатия на клавиши, открытие и закрытие форм, перемещение формы по экрану и т.п. VBA построен таким образом, чтобы создавать на нем программы, управляемые событиями.
Некоторые события форм
Часто используемые события форм:
- Initialize происходит при подготовке формы к открытию (появлению перед пользователем). Обычно в обработчик для этого события помещается код, связанный с открытием соединений базы данных, настройкой элементов управления на форме, присвоение им значений по умолчанию и т.п.
- Click и DblClick – реакция соответственно на одиночный и двойной щелчок мыши. Обычно обработчик щелчков используется для кнопок элементов управления CommandButton.
- Error – это событие используется при возникновении ошибки в форме и применяется пользователем для исправления сделанной им ошибки.
- Terminate – событие используется при нормальном завершении работы формы и выгрузке ее из памяти, например, по команде Unload.
Остальные события связаны либо с изменением размера окон, либо с нажатиями клавиш, либо с активизацией или деактивизацией.
Главное событие формы – Initialize. Все остальные события обычно используются для расположенных на ней элементов управления.
Элементы управления
Элементы управления используются для взаимодействия пользователя с приложением. Элементы управления реагируют на события, которые генерирует пользователь (нажатие на кнопку, ввод значения, перемещение ползунка и т.п.). Их можно размещать в документах непосредственно на рабочем листе и на пользовательских формах VBA.
Элементы управления находятся на Панели элементов в виде кнопок. Ниже приведена панель “Элементы управления” на рабочем листе
и панель “Toolbox” – в пользовательской форме.
На рис. 16 а, б представлены элементы управления с англоязычным и русскоязычным обозначением кнопок.
Рис. 16,а. Стандартная панель элементов (англоязычные обозначения)
Рис. 16,б. Стандартная панель элементов (русскоязычные обозначения)
Ниже рассмотрено использование элементов управления сначала в пользовательских формах, а затем – на рабочем листе.
Добавление элементов управления на форму обычно производится при помощи панели элементов ToolBoox (рис.15). Для этого необходимо выбрать элемент управления в Toolbox и перетащить его на форму или выделить элемент управления в Toolbox и затем на форме выделить ту область экрана, которую будет занимать этот элемент управления. После добавления в форму элемента управления ему назначается имя, которое состоит из названия типа элемента управления и порядкового номера. Например, если добавить элемент управления Label в пустую форму, то этот элемент управления получит название Label1; если добавить в окно второй элемент управления Label, то он получит название Label2.