Ирина Фризен - Офисное программирование
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) на вкладке Команды в списке Категории выберите команду Новое меню;
2) выберите команду Новое меню справа в списке Команды и перетащите ее в то место меню, куда нужно добавить подменю. Чтобы выпадающее меню открылось, показав уже имеющиеся в нем элементы, протащите Новое меню через имя выпадающего меню. При этом горизонтальная черта будет отмечать то место в списке рубрик выпадающего меню, куда попадет заголовок нового подменю;
3) щелкните правой кнопкой мыши Новое меню и введите заголовок нового подменю в поле Имя появившегося окна. Теперь при щелчке заголовка подменю справа или слева от него появится пустое подменю (рис. 122).
Рис. 122. Создание подменю
Добавление встроенной команды
MS Office позволяет добавлять команды к любым встроенным и пользовательским меню, а также изменять внешний вид, группировать и визуально отделять одну группу команд от другой.
В диалоговом окне «Настройка» сделайте модифицируемое меню видимым, а затем:
1) на вкладке Команды выберите в списке Категории категорию добавляемой команды – все команды данной категории будут показаны в списке Команды;
2) выберите команду в списке Команды и перетащите ее в то меню или подменю, куда она добавляется. Чтобы выпадающее меню или подменю открылось, показав имеющиеся в нем элементы, протащите команду через заголовок соответствующего выпадающего меню или подменю. Горизонтальная черта отмечает место в списке команд выпадающего меню, куда попадет заголовок нового подменю (рис. 123).
Рис. 123. Добавление встроенных команд
Скопировать команду можно и иначе: выведите на экран меню с нужной командой и перетащите ее в свое меню при нажатой клавише Ctrl.
Добавление собственной команды
Добавление команды с помощью окна «Настройка» в собственное или встроенное меню зависит от приложения Office, в котором оно выполняется:
• Microsoft Excel. Действуя так же, как и при вставке встроенной команды, выберите в списке Категории команду Макрос (Macros) и перетащите элемент Настраиваемая команда меню из списка Команды в меню. Щелкните эту команду правой кнопкой мыши и выберите в появившемся меню команду Назначить макрос. Затем введите в поле Имя имя макроса, который должен запускаться командой меню;
• Microsoft Word и Microsoft PowerPoint. Как при вставке встроенной команды, выберите в списке Категории команду Макросы и перетащите в меню имя нужного макроса из списка Команды (рис. 125, подробнее в главе 2). Для этого предварительно необходимо создать макрос (модуль) с необходимым именем и действием (рис. 124). Результат действия команды показан на рис. 126.
Рис. 124. Создание макроса (модуля) запуска разработанной формы
Рис. 125. Выбор макроса (модуля), открывающего форму
Рис. 126. Добавление собственной команды в разработанную панель и ее запуск
Удаление команды
Для удаления компонента меню надо в диалоговом окне «Настройка» сделать видимым модифицируемое меню, щелкнуть правой кнопкой мыши удаляемый элемент и в появившемся меню выбрать команду Удалить. Чтобы удалить целиком пользовательскую панель меню, нужно перейти на вкладку Панели инструментов диалогового окна «Настройка» и, выбрав в списке Панели инструментов имя удаляемой панели меню, щелкнуть кнопку Удалить.