- •Учреждение образования "Гродненский государственный профессионально-технический колледж приборостроения"
- •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 Программное добавление элементов в слайды
Задание для самостоятельной работы 2.1 Windows Script Host в приложениях vba
Подготовка:
откройте Word и создайте новый документ (обычным, не программным способом). Откройте проект этого документа и создайте в нем новую процедуру с именем WSH().
Задание:
Добавьте в проект этого документа ссылку на библиотеку Windows Script Host Object Model;
В процедуре WSH() создайте программные объекты WScript.Network и WScript.Shell и просмотрите свойства и методы этих объектов;
Добавьте в процедуру WSH() код, который бы:
принимал в текстовые переменные и печатал в документе Word значения свойств ComputerName, UserName и UserDomain объекта WScript.Network;
Примечание.
Код для вывода текстовой переменной в Word может выглядеть так:
ThisDocument.Activate
Selection.TypeText моя_текстовая_переменная
вызывал метод Run() объекта WScript.Shell и передавал ему единственный текстовый параметр со значением " calc";
использовал свойство Environment объекта WScript.Shell для создания коллекции текстовых переменных с информацией о переменных окружения;
печатал в документе Word все значения текстовых переменных в из этой коллекции.
Примечание.
Для переменных, которые вы будете использовать для создаваемой коллекции и ее элементов, следует использовать тип Variant.
Решение:
Итоговый код процедуры WSH() может быть таким:
Public Sub WSH()
Dim oNetwork As WshNetwork
Dim oShell As WshShell
Dim sComputer As String
Dim sDomain As String
Dim sUser As String
Dim oColl As Variant
Dim sEnv As Variant
'Создаем объекты
Set oNetwork = CreateObject("WScript.Network")
Set oShell = CreateObject("Wscript.Shell")
'Получаем и печатаем значения свойств объекта Wscript . Network
sComputer = oNetwork.ComputerName
sDomain = oNetwork.UserDomain
sUser = oNetwork.UserName
ThisDocument.Activate
Selection.TypeText sComputer & vbCrLf & sDomain & vbCrLf & sUser & vbCrLf & vbCrLf
'Вызываем метод Run объекта Wscript.Shell
oShell Run "Calc"
'Получаем коллекцию переменных окружения
Set oColl = oShell.Environment
'И выводим каждый элемент этой коллекции
For Each sEnv In oColl
Selection.TypeText sEnv & vbCrLf
Next
'Правило хорошего тона — удаляем созданные объекты из памяти
Set oNetwork = Nothing
Set oShell = Nothing
End Sub
3. Формы, элементы управления и события
3.1 Для чего нужны формы
Формы в приложениях VBA, применение форм
С самыми простыми возможностями организации взаимодействия с пользователем (применение встроенных функций MsgBox() и InputBox()) мы уже познакомились. Однако, конечно же, возможностей этих функций хватает не всегда. В этой главе речь пойдет о том, как создать графический интерфейс своего приложения, используя формы и элементы управления VBA.
Чаще всего для предоставления пользователю графического интерфейса используются формы VBA. В принципе, многие элементы управления можно вставлять непосредственно на страницу документа (для этого используются панели инструментов Формы и Элементы управления), однако классический способ — применение формы. Вне зависимости от того, используется форма или элементы управления размещаются напрямую в документе, набор элементов управления и приемы работы с ними одинаковы.
Как выглядит применение форм в приложении VBA?
Как правило, форма запускается при открытии пользователем документа. Пользователь выполняет на форме какие-то действия по вводу/выбору информации (например, выбирает значения в ниспадающем списке, устанавливает значения для флажков и переключателей и т.п.), а потом (обычно) нажимает на кнопку на этой форме — и введенная им информация передается в базу данных, отправляется по электронной почте, записывается в файл для распечатки и т.п.