- •Программирование в среде Microsoft Office 2000
- •1. Основные сведения о vba
- •1.2. Макрорекордер в Office 2000
- •2.Основные сведения о программировании на vba
- •2.1. Алфавит и лексика языка vba
- •2.2.Правила записи текста программы на vba.
- •2.4. Данные в vba
- •2.4.1. Типы данных в vba
- •Т ипы данных в vba
- •Встроенные типы данных показаны в таблице 2.1.
- •2.4.2.Объявление переменных и констант простых типов
- •2.4.3. Массивы
- •2.5.Использование стандартных диалоговых окон для организации ввода-вывода данных
- •2.5.1.Функция MsgBox
- •2.5.2.Функция InputBox
- •2.6. Управляющие конструкции vba
- •2.6.1.Условный оператор if
- •2.6.2.Оператор выбора Select Case
- •2.6.3.Оператор цикла For … Next
- •2.6.4.Оператор цикла While…Wend
- •2.6.5.Оператор цикла Do…Loop
- •2.6.6. Оператор перехода GoTo
- •2.7. Основные сведения об объектах
- •2.7.1.Основные понятия объектно-ориентированного программирования.
- •2.7.2. Особенности использования объектов.
- •2.7.3. Коллекции в vba
- •2.7.4. Объект Application
- •2.7.5. Объекты Range и Selection
- •2.7.6. Оператор With для операций с одним объектом.
- •2.8.Обработка ошибок
- •3.Программирование в приложениях ms Office 2000.
- •3.1.Объекты excel, их свойства и методы.
- •3.1.1. Объектная модель excel
- •3.1.2. Коллекция Workbooks
- •3.1.3. Объект Workbook
- •3.1.4.Объект Worksheet
- •3.1.5.Объект Chart
- •3.1.6.Объекты Range и Selection
- •3.1.7. Пример решения задачи в excel на основе построения vba-кода.
- •3.2. Объекты word, их свойства и методы.
- •3.2.1. Модель объектов word
- •3.2.2.Объект Appication
- •3.2.3. Объект Document
- •3.2.4. Классы, задающие структуризацию текста документа.
- •3.2.5. Классы, составляющие части документа
- •3.2.5.1. Объект Range
- •3.2.5.2. Объект Selection
- •3.2.6. Классы, представляющие структуру документа
- •3.3. Автоматизация работы в Access на основе использования Access vba
- •3.3.1. Средства автоматизации работы в Access.
- •3.3.2. Объектная модель Microsoft Access
- •3.3.3.Особенности программирования в Access vba
- •3.3.3.1. Модель программирования Access
- •3.3.3.2. Особенности работы с объектами в Access vba.
- •3.3.4. Манипулирование в Access объектами Application
- •3.3.5. Объекты доступа к данным
- •3.3.5.1. Объекты dao
- •3.3.5.2. Объекты ado
- •3.3.6. Использование объектов доступа к данным в Access
- •3.3.6.1. Соединение с текущей базой данных
- •3.3.6.2. Открытие базы данных
- •3.3.6.3. Создание базы данных
- •3.3.6.4. Выполнение операций с записями
- •3.3.6.5. Перемещение по набору записей
- •3.3.6.6. Поиск записей в объектах Recordset
- •3.3.7. Пример решения задачи в Access на основе построения vba-кода
- •3.4.Совместная работа приложений Microsoft Office 2000
- •4.Список рекомендуемой литературы
2.6.4.Оператор цикла While…Wend
Используется для организации циклов с предусловием и имеет следующий формат:
While <условие продолжения цикла>
операторы тела цикла
Wend
Пример 2.7. Использование оператора цикла While…Wend.
Sub pr27()
Dim y As Single
y = InputBox("Введите число")
While y > 1
MsgBox y
y = y / 2
Wend
End Sub
2.6.5.Оператор цикла Do…Loop
Используется для организации циклов с неопределенным числом повторений (с предусловием и с постусловием).
Этот оператор для организации цикла с предусловием может использоваться в двух модификациях:
а) Do While <условие продолжения цикла>
операторы тела цикла
Loop
б)Do Until <условие прекращения цикла>
операторы тела цикла
Loop
Для организации цикла с постусловием этот оператор также может быть использован в двух модификациях:
в) Do
операторы тела цикла
Loop While <условие продолжения цикла>
г)Do
операторы тела цикла
Loop Until <условие прекращения цикла>
Пример 2.8. Использование оператора цикла Do…Loop.
Sub pr28()
Dim a(10) As Single, s As Single, b As Single, n As Boolean
For i = 1 To 10
a(i) = Val(InputBox("Введите число"))
Next
Do
n = False
For i = 1 To 9
If a(i) > a(i + 1) Then
b = a(i): a(i) = a(i + 1): a(i + 1) = b: n = True
End If
Next
Loop While n = True
s = a(1) + a(10)
MsgBox s
End Sub
2.6.6. Оператор перехода GoTo
Этот оператор позволяет выполнить безусловный переход к заданной строке активной процедуры.
Формат оператора:
GoTo строка
строка – это метка строки в процедуре. Метка строки представляет собой строку программы, в начале которой указывается имя метки и двоеточие. Количество меток не ограничено, но каждая должна быть уникальна.
Пример 2.9. Использование оператора GoTo.
Sub pr29()
MsgBox “Операция выполнена”
GoTo met
MsgBox “Операция пропущена”
met:
MsgBox “Работа продолжается”
End Sub
Оператор GoTo следует использовать только в крайних случаях, так как макрос, содержащий операторы GoTo, довольно сложно отладить. Практически всегда имеется возможность запрограммировать те же действия с помощью других управляющих конструкций. Операторы GoTo применяются в VBA главным образом для обработки ошибок.
2.7. Основные сведения об объектах
2.7.1.Основные понятия объектно-ориентированного программирования.
За исключением стандартных типов данных все данные в VBA представлены объектами.
Объект – это комбинация кода и данных, которая может рассматриваться как единое целое. Например, элемент управления, форма или компоненты приложения.
Объектами, участвующими во всех приложениях Office 2000, являются такие, как Application, Range, Selection.
Документ основного приложения является объектом, который включает другие объекты.
Например, объектами EXCEL являются:
Application (приложение)
Workbook (рабочая книга)
Worksheet (рабочий лист)
Range (диапазон ячеек)
Коллекция (семейство) –это объект, содержащий набор родственных объектов. Например, Workbooks(Workbook), Worksheets (Worksheet).
Каждый объект имеет свойства и методы, которые позволяют управлять данными и использовать их в программе.
Свойство – имеющий имя атрибут объекта. Свойства определяют характеристики объекта (например, цвет, положение на экране или состояние объекта). Свойства любого объекта делятся на 2 группы:
свойства, задающие вложенные объекты (свойства-участники);
терминальные свойства, заданные обычными переменными.
Методы – это действия или задачи, которые выполняет объект (то, что можно делать с объектами). Методы могут быть общими для объектов, находящихся на разных уровнях иерархии. В ряде случаев это позволяет выполнять массовые операции над всеми объектами, входящими в иерархию. Так метод Calculate применим к объектам Application, Workbook, Worksheet. Однако, иногда методы-«тезки» могут отличаться параметрами и реализацией, являются «перегруженными». В Office 2000 широко используется перегрузка методов.
Возможны два способа изменить состояние объекта:
изменить одно из свойств объекта
выполнить некоторые действия, активизировав один из методов, ассоциированных с этим объектом.
Переменные определяют свойства объекта, и их значения определяют состояние объекта. Методы определяют поведение объекта. Наряду со свойствами и методами с объектом связывается понятие – событие.
События возникают при работе с объектом, чаще всего при определенных действиях пользователя, иногда как результат действия системы.
При возникновении события система посылает сообщение объекту, которое может быть обработано методом, специально созданным для конструирования класса. Каждый такой метод (событие) задает реакцию на определенные действия пользователя или системы при их работе с объектом.
Классы тесно связаны с объектами. Они определяют имя объекта, информацию о нем, а также действия, выполняемые объектом. Класс- это проект объектов. Объект, который создается на основе класса, называется экземпляром класса.
Класс является обобщающим понятием типа данных и задает свойства и поведение объектов класса - экземпляров класса. Каждый объект принадлежит некоторому классу. Отношение между объектом и его классом такое же, как между переменной и ее типом. Класс – это объединение данных и обрабатывающих их процедур и функций. Данные называются также переменными класса, а процедуры и функции – методами класса.