Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование VBA.pdf
Скачиваний:
374
Добавлен:
03.05.2015
Размер:
3.07 Mб
Скачать

55

задавать сразу несколько опций, выбирать пункты из списка или вводить несколько значений, наподобие диалоговым окнам приложений MS Office.

Для вставки экранной формы в приложение нужно выполнить следующие действия.

1.Открыть рабочую книгу.

2.Войти в редактор Visual Basic, нажав комбинацию клавиш <Alt+F11> или щёлкнув по кнопке .

3.Если в окне проекта не появится окно Project – VBAProject, то вы-

брать в меню View пункт Project Exsplorer.

4.В окне проекта щёлкнуть правой кнопкой мыши на элементе

ЭтаКнига.

5.В контекстном меню выполнить команду Insert>UserForm (Вставка > Экранная форма). В рабочую книгу будет вставлена экранная форма UserForm1 и Панель элементов ToolBoox (рис.15).

Рис. 15. Вставленная новая экранная форма

Новая экранная форма представляет собой пустое окно со строкой заголовка UserForm1. Это та основа, на которой пользователь может создать собственные диалоговые окна и окна других типов. Если панель ToolBoox не появится, нужно выбрать в меню View пункт ToolBoox или на-

жать кнопку на панели Microsoft Visual Basic.

2.11.1. Свойства, методы и события экранных форм

Форма представляет собой интерфейс пользователя. Она может содержать меню, кнопки, окна списков, полосы прокрутки и другие элементы, существующие в программах MS Office. VBA по умолчанию предлагает форму, которая имеет имя UserForm1, со стандартной сеткой (группа равномерно расположенных точек). Сетка служит для удобства размещения

56

элементов пользовательского интерфейса. Шаг сетки можно изменить выполнив команду Сервис, Параметры (Tool, Options), закладка Общие (General). Форма UserForm1 может быть переименована, и её размеры могут быть изменены при разработке приложения. При необходимости можно добавить новые формы. Каждая форма при работе программы будет окном пользовательского интерфейса. Форма (UserForm) является объектом и обладает большим набором свойств, методов и событий.

2.11.1.1. Некоторые свойства форм

Большая часть основных свойств относится к внешнему виду, размерам и местонахождению окон.

Свойство Name задаёт имя формы. После создания первой формы в проекте она по умолчанию получает стандартное имя UserForm1, второй – UserForm2, и т.д., которое рекомендуется заменить на такое, чтобы оно указывало на назначение формы.

Свойство Caption задаёт заголовок формы. Значение этого свойства также рекомендуется назначить таким, чтобы оно указывало на назначение формы, например, "Выполнение плана".

Свойство Enabled используется для временного отключения формы.

2.11.1.2. Некоторые методы форм

Во время редактирования формы её можно запускать нажатием клавиши F5. После того, как форма будет готова, нужно обеспечить её запуск в документе. Для этого нужно воспользоваться методом Show:

UserForm1.Show

Если форма уже была загружена в память, она просто станет видимой, если еще нет, то будет автоматически загружена (произойдет собы-

тие Load).

Эту команду, можно вызвать, например:

из обычного макроса, назначенного кнопкой или комбинацией клавиш или запускаемого файлом автозапуска Auto_Exec;

из кода для элемента управления, расположенного в самом документе, например, CommandButton или на другой форме – для

перехода между формами.

После того, как пользователь введет или выберет нужные данные на форме и нажмет на требуемую кнопку, форму необходимо убрать. Можно для этой цели воспользоваться двумя способами:

использовать метод Hide:

UserForm1.Hide

Форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент удаления с экрана. Окончательно форма удалится из памяти при закрытии документа.