Пример создания панели инструментов пользователя
Приведем пример проекта, который создает интерфейс приложения, состоящего из строки меню и одной панели инструментов. В панель инструментов входят две кнопки и раскрывающийся список. На поверхности одной из кнопок выводится рисунок, а другой — надпись (рис. 8.2).
Рис. 8.2. Пользовательский интерфейс
Каждая из кнопок связана с макросом таким образом, что их активизация приводит к выполнению соответствующего макроса. Кроме того, эти кнопки снабжены пояснительными надписями, которые отображаются в окне всплывающей подсказки. При закрытии приложения данная панель инструментов удаляется, а ее место занимают панели инструментов Стандартная (Standard) и Форматирование (Formatting).
В окне Проект — VBAProject (Project - VBAProject) выберите лист ThisWorkbook и наберите следующие две процедуры.
Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window)
'
' Процедура создания новой панели инструментов при
' открытии рабочей книги
'
' При открытии рабочей книги панели инструментов Форматирование
' и Стандартная скрываются
'
'
With Application
.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:=2950)
.TooltipText = "КнопкаДейства!" .OnAction = "Действо 1"
End With
'
' Создание кнопки с надписью
With .Add(Type:=msoControlButton, Id:=l)
.Caption = "Действо"
.TooltipText = "КнопкаДейства2"
.Style = msoButtonCaption
.OnAction = "Действо 2" End With
' Создание раскрывающегося списка
With .Add(Type:=msoControlDropdown)
.Addltem "Приедет", 1 .Addltem "Уедет", 2
.Addltem "Еще не решил", 3
.Listlndex = i
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
End With
End Sub
А на листе модуля введите следующие две процедуры, которые будут выполняться при нажатии на соответствующие кнопки.
Sub Действо1()
MsgBox "Результат действа 1"
End Sub
Sub Действо 2()
MsgBox " Результат действа 2"
End Sub
- 3 Семестр
- Оглавление
- Язык программирования Visual Basic for Application Основные средства и возможности vba Основные элементы vba
- Основы программирования на vba Типы данных
- Описание переменных
- Допустимые имена
- Инструкция Def Тип
- Массивы
- Динамические массивы
- Функции и процедуры для работы с массивами
- Константы
- Тип данных, определенный пользователем
- Операции vba
- Приоритеты операций
- Встроенные функции vba
- Математические функции
- Функции проверки типов
- Функции преобразования форматов
- Функции обработки строк
- Функции времени и даты
- Функции выбора
- Функции, возвращающие строки
- Встроенные диалоговые окна
- Инструкции vba
- Оператор присвоения
- Перенос строки
- Комментарии
- Расположение нескольких операторов на одной строке
- Операторы перехода и выбора
- Операторы повтора
- Условная компиляция
- Процедура
- Переход в подпрограмму и возвращение из подпрограммы
- Вызов процедуры
- Рекурсивные процедуры
- Область определения переменной
- Время жизни переменной
- Процедуры обработки ошибок и отладка программ Разработка процедур, предотвращающих появление ошибок
- Перехват и обработка ошибок
- Свойства объекта Err
- Методы объекта Err
- Отладка программ
- Ошибки компиляции
- Ошибки выполнения
- Логические ошибки
- Инструкция Option Explicit
- Пошаговое выполнение программ
- Точка останова
- Вывод значений свойств и переменных
- Работа с файлами Типы файлов в vba
- Открытие и закрытие файла
- Ввод данных в файл последовательного доступа
- Вывод данных из файла последовательного доступа
- Работа с файлом произвольного доступа
- Наиболее употребляемые инструкции и функции при работе с файлами
- Объект FileSearch
- Элементы управления и пользовательская форма Элементы управления
- Режим конструктора
- Установка свойств элемента управления
- Редактор кода
- Пользовательская форма UserForm
- Семейство Controls
- Создание пользовательской формы
- Общие свойства элементов управления
- Соглашения об именах
- Общие методы и события элементов управления
- Объект DataObject
- Надпись
- Заполнение списка
- Выбор нескольких элементов из списка
- Поле со списком
- Полоса прокрутки и счетчик
- Переключатель
- Флажок и выключатель
- Ссылки на ячейки и диапазоны
- Набор страниц
- Набор вкладок
- Дополнительные элементы управления
- Последовательность выбора элементов управления
- Инициализация и отображение диалогового окна
- Закрытие диалогового окна
- Отображение встроенных диалоговых окон
- Открытие документа
- Объект Application
- Свойства объекта Application
- Методы объекта Application
- События объекта Application
- Объект Workbook и семейство Workbooks
- Свойства объекта Workbook и семейства Workbooks
- Методы объекта Workbook и семейства Workbooks
- События объекта Workbook и семейства Workbooks
- Объект Worksheet и семейство Worksheets
- Свойства объекта Worksheet и семейства Worksheets
- Методы объекта Worksheet и семейства Worksheet
- События объекта Worksheet
- Объекты Range и Selection
- Адресация ячеек
- Задание групп строк и столбцов с помощью объекта Range
- Связь объекта Range и свойства Cells
- Свойства и методы объекта Range
- Программирование панели инструментов
- Объект CommandBar и семейство CommandBars
- Семейство CommandBarControls и объект CommandBarControl
- Пример создания панели инструментов пользователя
- Пример создания строки меню пользователя
- Создание пользовательской панели инструментов вручную
- Удаление элемента управления из панели инструментов вручную
- Удаление пользовательской панели инструментов вручную
- Назначение вручную макроса кнопке
- Изменение и создание вручную изображения на кнопке
- Программирование средств для работы со справочной информацией
- Структура помощника
- Типы помощника
- Свойства объекта Assistant
- Объект Balloon