На этом шаге мы рассмотрим назначение и содержание этого модуля.
Процедура Workbook_WindowActivate создает пользовательский интерфейс при загрузке книги.
Процедура Workbook_WindowDeactivate восстанавливает интерфейс, используемый в окне рабочей книги Excel по умолчанию.
Приведем его текст.
Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window) ' Процедура создания новой панели инструментов и новое меню при ' открытии рабочей книги ' При открытии рабочей книги панели инструментов Форматирование ' и Стандартная скрываются и отображается новый заголовок окна приложения With Application .Caption = "С нами не соскучишься" .DisplayAlerts = False .CommandBars("Formatting").Visible = False .CommandBars("Standard").Visible = False End With ' Создание новой панели инструментов с именем ' Рабочая панель инструментов, которая будет ' удаляться при закрытии приложения 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 = "Модуль1.UserForm1_Initialize" End With ' Вторая кнопка With .Add(Type:=msoControlButton, ID:=1) .Caption = "Поиск и редактирование" .TooltipText = "Поиск и редактирование" .Style = msoButtonCaption .OnAction = "Модуль1.UserForm3_Initialize" End With ' Третья кнопка With .Add(Type:=msoControlButton, ID:=1) .Caption = "Фильтр и его отмена" .TooltipText = "Установка и снятие фильтра" .Style = msoButtonCaption .OnAction = "Модуль1.Автофильтр" End With ' Четвертая кнопка With .Add(Type:=msoControlButton, ID:=1) .Caption = "Фильтрация оплаченных путевок" .TooltipText = "Отображаются только оплаченные путевки" .Style = msoButtonCaption .OnAction = "Модуль1.UserForm4_Initialize" End With ' Пятая кнопка With .Add(Type:=msoControlButton, ID:=1) .Caption = "Сортировка" .TooltipText = "Сортировка данных" .Style = msoButtonCaption .OnAction = "Модуль1.Сортировка" End With End With End With ' Вторая панель инструментов с именем Сводная таблица и файлы 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 = "Модуль1.СводнаяТаблица" End With ' Вторая кнопка With .Add(Type:=msoControlButton, ID:=3) .TooltipText = "Сохранить" .OnAction = "Модуль1.Запись" End With With .Add(Type:=msoControlButton, ID:=1175) .TooltipText = "Сохранить как" .OnAction = "Модуль1.СохранитьКак" End With End With End With With Application.CommandBars.Add(Name:="Мое Меню", MenuBar:=True, Temporary:=True) .Visible = True With .Controls ' Создание строки меню Файл With .Add(Type:=msoControlPopup) .Caption = "&Файл" With .Controls With .Add(Type:=msoControlButton) .Caption = "Сохранить" .OnAction = "Модуль1.Запись" End With With .Add(Type:=msoControlButton) .Caption = "Сохранить как" .OnAction = "Модуль1.СохранитьКак" End With With .Add(Type:=msoControlButton) .Caption = "Закрыть" .OnAction = "Модуль1.Закрыть" End With End With End With End With End With End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Excel.Window) ' Процедура, отображающая панели инструментов Форматирование ' и Стандартная при закрытии приложения ' Кроме того, она устанавливает заголовок окна приложения, используемые ' по умолчанию и удаляет созданные панели инструментов With Application .CommandBars("Formatting").Visible = True .CommandBars("Standard").Visible = True .Caption = Empty .CommandBars("Мое Меню").Delete .CommandBars("Сводная таблица и файлы").Delete .CommandBars("Рабочая панель инструментов").Delete End With End Sub
На следующем шаге мы снова вернемся к Модулю1.