Офисное программирование - Страница 36
Вторая кнопка закрывает форму и возвращает свое исходное имя.
Private Sub CommandButton2_Click()
CommandButton2.Caption = «Отмена»
UserForm2.Hide
End Sub
Для инициализации формы UserForm2 откройте Модуль1 и вставьте процедуру инициализации формы.
Public Sub UserForm2_Initialize()
' обратите внимание, что процедура глобальная!
UserForm2.ComboBox1.List = Array(«фамилии», «продолжительности тура»)
UserForm2.ComboBox1.ListIndex = 0
UserForm2.Show
End Sub
Рис. 114. Вывод данных на лист excel
Для создания пользовательского интерфейса следует выполнить следующее:
1) установить новое название приложения «Туристы фирмы Балашов-Тур»;
2) закрыть строку формул;
3) убрать панели инструментов Стандартная и Форматирование;
4) дать новое имя листу с базой;
5) добавить новую панель инструментов с кнопкой «Сортировка».
Новое имя листу задайте вручную. Остальное будет сделано в процедуре, обрабатывающей событие открытия рабочей книги.
Private Sub Workbook_Open()
Application.Caption = «Туристы фирмы Балашов-тур»
Application.DisplayFormulaBar = False
'Закрытие строки формул окна Excel
Application.CommandBars(«Standard»).Visible = False
Application.CommandBars(«Formatting»).Visible = False
Sheets(«База данных»).Select
With Application.CommandBars.Add(Name:="Рабочая панель инструментов",Position:=msoBarTop, MenuBar:=False, Temporary:=True)
Visible = True
With.Controls
'кнопка Сортировка
With.Add(Type:=msoControlButton, ID:=1)
Caption = «Сортировка»
TooltipText = «Сортировка»
Style = msoButtonCaption
OnAction = «Module1.UserForm2_Initialize»
'кнопка запускает UserForm2_Initialize
End With
End With
End With
UserForm1.Show
End Sub
Для возвращения внешнего вида приложения после закрытия базы следует обработать событие «Непосредственно перед закрытием».
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Caption = Empty
'Установка заголовка окна приложения по умолчанию
Application.CommandBars(«Standard»).Visible = True
Application.CommandBars(«Formatting»).Visible = True
End Sub
Теперь сохраните все изменения и закройте Excel. Далее при открытии файла с базой вы увидите новый интерфейс приложения и подгруженную форму с регистрацией клиента.
Пример 60.[8] Создать базу данных «Общежитие».
Для этого разработать приложение с диалоговым окном «Общежитие», в котором:
• счетчик управляет вводом продолжительности проживания;
• в раскрывающемся списке выводятся три типа номеров: одноместный, двухместный, люкс, стоимость проживания в которых равна соответственно 550, 400 и 750 руб. в сутки;
• если постоялец заказывает завтраки в номер, то суточная оплата возрастает на 75 руб.;
• при нажатии на кнопку ОК в поле Стоимость проживания выводится суммарная стоимость проживания клиента, и все данные из диалогового окна должны выводиться в базу данных, создаваемую на рабочем листе; кроме того, происходит автоматическое сохранение рабочей книги на диск.
При разработке формы придерживаться рис. 115, 116.
Рис. 115. Форма примера 60 в рабочем состоянии
Рис. 116. Вывод информации в базу данных excel
Глава 10
Создание собственного головного меню[9]
Создание меню с помощью диалогового окна «Настройка»
Согласно существующим формальным и фактическим стандартам проектирования интерфейса, работа прикладной программы должна начинаться с активизации головного меню, которое находится в верхней части окна приложения. Собственное головное меню для прикладной системы можно спроектировать вручную, вызвав диалоговое окно «Настройка» или используя VBA.
Во всех приложениях Office можно спроектировать собственное головное меню визуально, используя для этого диалоговое окно «Настройка». Для его вызова нужно в меню Вид выбрать команду Панели инструментов, а затем в появившемся подменю – команду Настройка. Новое меню создается так:
1) щелкните кнопку «Создать» на вкладке Панели инструментов (рис. 117);
2) в появившемся окне «Создание панели инструментов» (рис. 116) введите имя создаваемого меню, в нижнем списке «Сделать панель доступной для» необходимо выбрать имя документа, для которого создается панель (не Normal!) и щелкнуть кнопку ОК. На экране появится плавающая панель с заданным именем (рис. 118);
3) при помощи окна «Настройка» (рис. 119) и вкладки «Команды» добавьте необходимые команды для созданного меню. В результате на панели появятся кнопки выбранных команд (рис. 120).
Рис. 117. Окно создания собственной панели
Рис. 118. Диалоговое окно «Создание панели инструментов»
Добавление выпадающих меню
Этот способ добавления меню или команды нагляднее, и его, в отличие от процедуры создания нового меню, можно применять в любом приложении Office. Откройте диалоговое окно «Настройка», а затем:
1) если модифицируемого меню на экране нет, поставьте флажок выбора рядом с именем изменяемого меню в списке Панели инструментов на одноименной вкладке Панели инструментов;
Рис. 119. Окно «Настройка»
2) в списке Категории на вкладке Команды выберите Новое меню (рис. 120);
3) выберите команду Новое меню справа в списке Команды и перетащите ее в то меню, к которому добавляется новое меню. При этом знак «I» отмечает то место, куда попадет имя нового меню (рис. 120);
4) щелкните правой кнопкой мыши Новое меню (при включенном окне Настройка), введите имя этого меню в поле Имя (рис. 121) появившегося окна.
Если теперь щелкнуть имя нового меню, то на экране под ним появится пустой прямоугольник.
Рис. 120. Создание нового меню в головном меню приложения
Рис. 121. Редактирование пункта меню
Добавление подменю
Подменю (или дочернее меню) примыкает с боковой стороны родительского меню на уровне той команды, которая является заголовком подменю. Подменю можно добавлять к выпадающим и всплывающим меню, а также и к другим подменю. Сначала добавляется пустое подменю, затем в него вставляются команды.
Для добавления подменю нужно активизировать диалоговое окно «Настройка» и сделать модифицируемое меню видимым. После этого нужно действовать так:
1) на вкладке Команды в списке Категории выберите команду Новое меню;