- •Учреждение образования "Гродненский государственный профессионально-технический колледж приборостроения"
- •1. Синтаксис и программные конструкции vba
- •1.1 Основы синтаксиса языка vba
- •1.2 Операторы vba
- •1.3 Переменные и типы данных
- •Задание для самостоятельной работы 1.1: Работа с переменными и операторами
- •1.4 Константы
- •1.5 Операторы условного и безусловного перехода
- •1.5.1 Операторы условного и безусловного перехода. Оператор If… Then... Else
- •1.5.2 Оператор Select Case
- •1.5.3 Оператор GoTo
- •Задание для самостоятельной работы 1.2: Работа с операторами условного перехода
- •1.6 Работа с циклами
- •1.7 Массивы
- •Задание для самостоятельной работы 1.3 Работа с циклами
- •1.8 Процедуры и функции
- •1.8.1 Процедуры и функции. Виды процедур
- •1.8.2 Область видимости процедур
- •1.8.3 Объявление процедур
- •1.8.4 Передача параметров
- •1.8.5 Запуск и завершение работы процедур
- •Задание для самостоятельной работы 1.4 Работа с процедурами и функциями
- •1.9 Встроенные функции языка Visual Basic For Applications
- •1.9.1 Встроенные функции языка Visual Basic For Applications
- •1.9.2 Функции преобразования и проверки типов данных
- •1.9.3 Строковые функции
- •1.9.4 Функции для работы с числовыми значениями
- •1.9.5 Функции для работы с датой и временем
- •1.9.6 Функции для форматирования данных
- •1.9.7 Функции для организации взаимодействия с пользователем
- •1.9.8 Функции — заменители синтаксических конструкций
- •1.9.9 Функции для работы с массивами
- •1.9.10 Функции для работы с файловой системой
- •1.9.11 Прочие функции vba
- •2. Работа с объектами и объектные модели
- •2.1 Что такое классы и объекты
- •2.2 Создание и удаление объектов
- •2.3 Методы объекта
- •2.4 Свойства объекта
- •2.5 События объекта и объявление WithEvents
- •2.6 Просмотр объектов
- •2.7 Объектные модели
- •Задание для самостоятельной работы 2.1 Windows Script Host в приложениях vba
- •3. Формы, элементы управления и события
- •3.1 Для чего нужны формы
- •3.2 Создание форм и самые важные свойства и методы форм
- •3.3 Элементы управления
- •3.3.1 Что такое элементы управления
- •3.3.2 Элемент управления Label (надпись)
- •3.3.3 Элемент управления TextBox (текстовое поле)
- •3.3.4 Элемент управления ComboBox (комбинированный список)
- •3.3.5 Элемент управления ListBox (список)
- •3.3.6 Элементы управления CheckBox (флажок) и ToggleButton (кнопка с фиксацией)
- •3.3.7 Элементы управления OptionButton (переключатель) и Frame (рамка)
- •3.3.8 Элемент управления CommandButton (кнопка)
- •3.3.9 Элементы управления ScrollBar (полоса прокрутки) и SpinButton (счетчик)
- •3.3.10 Элементы управления TabStrip (набор вкладок) и MultiPage (набор страниц)
- •3.3.11 Элемент управления Image (рисунок)
- •3.3.12 Применение дополнительных элементов управления. Элементы управления Microsoft Web Browser, Calendar, RefEdit
- •Задание для самостоятельной работы 3.1 Работа с элементами управления
- •4. Работа с панелями инструментов и меню
- •Задание для самостоятельной работы 4.1 Работа с панелями инструментов, меню и помощником
- •5. Программирование в Word
- •5.1 Зачем программировать в Word
- •5.2 Введение в программирование в Word. Обзор объектной модели Word
- •5.3 Объект Application
- •5.3.1 Как работать с объектом Application
- •5.3.2 Свойства, методы и события объекта Application
- •5.4 Коллекция Documents и объекты Document
- •5.4.1 Как работать с коллекцией Documents
- •5.4.2 Свойства и методы коллекции Documents
- •5.4.3 Работа с объектом Document , его свойства и методы
- •5.5 Объекты Selection , Range и Bookmark
- •5.5.1 Работа с объектом Selection
- •5.5.2 Свойства и методы объекта Selection
- •5.5.3 Работа с объектом Range, его свойства и методы
- •5.5.4 Объект Bookmark
- •5.6 Другие объекты Word
- •5.6.1 Коллекция AddIns и объекты AddIn
- •5.6.2 Объект AutoCorrect
- •5.6.3 Коллекция Languages и объект Language
- •5.6.4 Объект Options
- •5.6.5 Объекты Find и Replacement
- •5.6.6 Объекты Font и ParagraphFormat
- •5.6.7 Объект PageSetup
- •5.6.8 Объекты Table , Column, Rowи Cell
- •5.6.9 Объект System
- •5.6.10 Коллекция Tasks и объект Task
- •5.6.11 Коллекция Windows и объект Window
- •Задание для самостоятельной работы 5.1 Программное формирование документа в Word
- •6. Программирование в Excel
- •6.1 Зачем программировать в Excel
- •6.2 Объект Application
- •6.3 Свойства и методы объекта Application
- •6.4 Коллекция Workbooks и объект Workbook, их свойства и методы
- •6.5 Коллекция Sheets и объект Worksheet , их свойства и методы
- •6.6 Объект Range, его свойства и методы
- •6.7 Коллекция QueryTables и объект QueryTable
- •6.8 Работа со сводными таблицами (объект PivotTable)
- •6.9 Работа с диаграммами: объект Chart
- •6.10 Другие объекты Excel
- •Задание для самостоятельной работы 6.1 Применение Excel для анализа информации из базы данных
- •7. Программирование в Access
- •7.1 Отличительные особенности создания приложений Access
- •7.2 Основные этапы создания приложений Access
- •7.3 Объект Application , его свойства и методы
- •7.4 Макрокоманды и объект DoCmd
- •7.5 Работа с формами Access из vba (объект Form )
- •7.6 Свойства, методы и события форм
- •7.7 Работа с отчетами (объект Report )
- •7.8 Другие объекты Access
- •Задание для самостоятельной работы 7.1 Создание приложения vba в Access
- •8. Программирование в PowerPoint
- •Задание для самостоятельной работы 8.1 Программное добавление элементов в слайды
Задание для самостоятельной работы 4.1 Работа с панелями инструментов, меню и помощником
Задание:
Создайте и сделайте видимой в Word новую панель инструментов с двумя кнопками: "Показать помощника" и "Отключить помощника". Она может выглядеть, например, так, как представлено на рис. 8.5:
Рис. 8.5 Новая панели инструментов Word
При нажатии на кнопку "Показать помощника" должен появляться помощник, а при нажатии на кнопку "Отключить помощника" он должен отключаться.
Сделайте так, чтобы при нажатии на кнопку "Включить помощника" появлялось дополнительное меню, аналогичное представленному на рис. 8.6.
Рис. 8.6 Созданное программным образом новое меню
При выборе пункта меню "Показать выделенный текст" в окне помощника должен показываться текст, который выделен в документе (см. рис. 8.7)
Рис. 8.7 Вызванный макросом помощник в действии
Примечание:
Просмотреть номера всех встроенных панелей и меню в Office можно при помощи кода
Dim cBar As CommandBar
For Each cBar In CommandBars
Debug.Print cBar.Index & vbTab & cBar.Name
Next
Если вы хотите поместить новый элемент в стандартное меню Office, то номер стандартного меню в коллекции CommandBars — 41.
Решение:
набор процедур, которые бы выполняли поставленные условия, может выглядеть так, как представлено ниже (для создания панели инструментов нужно запустить процедуру ShowNewToolbar). Если возможности эти процедур нужны во всех документах Word, то лучше их поместить в модуль проекта normal.dot.
Public Sub ShowNewToolbar ()
'Исходная процедура, которая создает новую панель инструментов Assistant
'Проверка — если панель с таким именем уже есть, создавать ее не надо
Dim cBar As CommandBar
For Each cBar In CommandBars
If cBar.Name = "Assistant" Then
cBar.Visible = True
Exit Sub
End If
Next
'Создаем панель управления
Dim CBar1 As CommandBar
Set CBar1 = CommandBars.Add("Assistant", msoBarTop)
CBar1.Enabled = True
CBar1.Visible = True
' Помещаем на ней первую кнопку
Dim But1 As CommandBarControl
Set But1 = CBar1.Controls.Add(msoControlButton)
But1.Caption = "Показать помощника"
But1.FaceId = 52
But1.OnAction = "ShowAssistant"
' Помещаем на ней вторую кнопку
Dim But2 As CommandBarControl
Set But2 = CBar1.Controls.Add(msoControlButton)
But2.Caption = "Отключить помощника"
But2.FaceId = 103
But2.OnAction = "DisableAssistant"
End Sub
Public Sub ShowAssistant()
'Процедура, которая запускается по нажатию кнопки "Показать помощника"
' Включение помощника
Assistant.On = True
Assistant.Visible = True
'Начинается код на создание нового меню
'Проверяем, есть ли уже такой пункт в стандартном меню
Dim cBarCont As CommandBarControl
For Each cBarCont In CommandBars(41).Controls
If cBarCont.Caption = "Работа с помощником" Then
Exit Sub
End If
Next
'Создаем меню
Dim CBar1 As CommandBar
Set CBar1 = CommandBars(41)
CBar1.Enabled = True
CBar1.Visible = True
Dim Menu1 As CommandBarPopup
Dim SubMenu1 As CommandBarPopup
Dim SubMenu1Item As CommandBarButton
' Создаем верхнее меню
Set Menu1 = CBar1.Controls.Add(msoControlPopup)
Menu1.Caption = "Работа с помощником"
'Создаем вложенное меню
Set SubMenu1 = Menu1.Controls.Add(msoControlPopup)
SubMenu1.Caption = "Действия"
'Создаем элемент во вложенном подменю и назначаем ему процедуру TextToAssistant
Set SubMenu1Item = SubMenu1.Controls.Add(msoControlButton)
SubMenu1Item.FaceId = 5
SubMenu1Item.Caption = "Показать выделенный текст"
SubMenu1Item.OnAction = "TextToAssistant"
End Sub
Public Sub DisableAssistant()
'Процедура, которая отключает помощника и созданное меню
'Этот код можно использовать для кнопки "Отключить помощника"
Assistant.On = False
Dim cBarCont As CommandBarControl
For Each cBarCont In CommandBars(41).Controls
If cBarCont.Caption = "Работа с помощником" Then
cBarCont.Delete
Exit Sub
End If
Next
End Sub
Public Sub TextToAssistant()
'Процедура, которая выводит в помощнике выделенный в документе текст
Dim oBal1 As Balloon
Set oBal1 = Assistant.NewBalloon
oBal1.Text = Selection.Text
oBal1.Show
End Sub