![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Технология выполнения. 1. Активизируйте приложение Word и создайте документ.
1. Активизируйте приложение Word и создайте документ. 2. Перейдите в редактор VBA и создайте форму. 3. Создайте процедуру создания собственной панели. OptioNExplicit Public Sub CreateCustomMenu() Dim CstmBar As CommandBar Dim CstmPopUpi As CommandBarPopup, CstmPopUp2 As CommandBarPopup Dim CstmCtrl As CommandBarControl Dim Exist As Boolean 'Выключаем все панели For Each CstmBar INCommandBars CstmBar.Enabled = False Next CstmBar 'Создаем, включаем и делаем видимой собственную панель Exist = False For Each CstmBar INCommandBars If CstmBar.Name = «Головное меню» Then Exist = True Exit For End If Next CstmBar IfNot Exist Then Set CstmBar = CommandBars.Add(Name: =" Головнoe меню", Position: =msoBarTop, MenuBar: =True, Temporary: =False) End If CstmBar.Enabled = True CstmBar.Visible = True 'Добавляем меню на панель Exist = False For Each CstmCtrl INCstmBar.Controls If CstmCtrl.CaptioN= «& Ввод документов» Then Exist = True Exit For End If Next CstmCtrl IfNot Exist Then Set CstmCtrl = CstmBar.Controls.Add(Type: =msoControlPopup, Before: =1) CstmCtrl.CaptioN= «& Ввод документов» 'Добавляем две команды подменю Set CstmPopUpi = CstmCtrl.Controls.Add(Type: =msoControlPopup) CstmPopUpi.CaptioN= «о движении товаров» Set CstmPopUp2 = CstmCtrl.Controls.Add(Type: =msoControlPopup) CstmPopUp2.CaptioN= «финансовых» 'Добавляем команду в каждое подменю Set CstmCtrl = CstmPopUpi.Controls.Add(Type: =msoControlButton) CstmCtrl.CaptioN= «Накладная» CstmCtrl.OnActioN= «Module1.Invoice» Set CstmCtrl = CstmPopUp2.Controls.Add(Type: =msoControlButton) CstmCtrl.CaptioN= «Счет» CstmCtrl.OnActioN= «Module1.Account» End If End Sub Пояснения к процедуре. Вначале, используя свойство Enabled, были отключены все панели. Затем было сформировано головное меню с двумя подменю и командами, содержащее всего один пункт. Обратите внимание: перед добавлением нового пункта обычно проверяется, а не был ли он уже добавлен. Подобная проверка позволяет избежать ошибок, возникающих при попытках добавить уже существующий пункт или удалить несуществующий. 4. Создайте процедуру восстановления панелей инструментов документа. Public Sub ResetMainMenu() Dim CstmBar As CommandBar 'Включаем все панели For Each CstmBar INCommandBars CstmBar.Enabled = True Next CstmBar Set CstmBar = CommandBars.Item(«Menu Bar») CstmBar.Visible = True End Sub 5. Пропишите обработчик кнопки «Создать». Private Sub CommandButton1_Click() Call CreateCustomMenu End Sub 6. Пропишите обработчик кнопки «Отмена», восстанавливающей стандартное окружение. Private Sub CommandButton2_Click() Call ResetMainMenu End Sub 7. Чтобы пример был законченным, приведем процедуры, вызываемые в ответ на выбор команд меню Накладная и Счет: Public Sub Invoice() MsgBox («Накладная!») End Sub Public Sub Account() MsgBox («Счет!») End Sub 8. Откомпилируйте программу, запустите форму на выполнение.
Рис. 127. Форма примера 61 в рабочем режиме. Результат работы кнопки Создать
Примечание. Данный пример доработать для более рационального использования следующим образом: в головном меню разработчика создать пункт Форма, который вызывает соответствующую форму, редактирующую меню всего приложения (рис. 129, 130). После нажатия кнопки Создать меню всего приложения Word изменяется, подключив Главное меню, созданное программно. В этом меню пункт «Работа с меню + Отмена» запускает форму с соответствующими кнопками (Создать и Отменить).
Рис. 128. Результат работы кнопки Отменить Рис. 129. Главное меню разработчика и вызываемая форма
Рис. 130. Главное меню приложения, созданное программно, и пункт Отмена, вызывающий форму с кнопкой Отменить Литература 1. Биллиг В.А., Дехтяръ М.И. VBA и Office 97. Офисное программирование. М.: Издательский отдел «Русская Редакция», ТОО «Cheannel Trading Ltd.», 1998. 2. Биллиг В.А. VBA в Office 2000. Офисное программирование. М.: Издательско-торговый дом «Русская Редакция», 1999. 3. Санна П. и др. Visual Basic® для приложений (версия 5) в подлиннике / Пер. с англ. СПб.: BHV – Санкт-Петербург, 1997. 4. Гарнаев А.Ю. Самоучитель VBA. СПб.: БХВ-Петербург, 2004. 5. Кузьменко В.Г. VBA 2000. М.: ЗАО «Издательство БИНОМ», 2000. 6. Камминг С. VBA для «чайников». 3-е изд. М.: Издательский дом «Диалектика», 2001. 7. Симонович СВ., Евсеев Г.А., Алексеев А.Г. Специальная информатика: Учеб. пособие. М.: АСТ-ПРЕСС: Информ-Пресс, 2001. 8. Робинсон С. Microsoft Access 2000: Учебный курс. СПб.: Питер, 2002. 9. Информатика: Практикум по технологии работы на компьютере / Под ред. Н.В. Макаровой. М.: Финансы и статистика, 2003. 10. Харитонова И., Вольман Н. Программирование в Access 2002: Учебный курс. СПб.: Питер, 2002.
|