- •Программирование в среде 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.7.2. Особенности использования объектов.
Свойства и методы не используются по отдельности, они указываются вместе с объектом:
Объект.Свойство
Объект.Метод
Чтобы работать с объектами, требуется описать их.
Dim объект as класс
С помощью явного описания класса объекта ускоряется компиляция программы. При явном описании нового объекта можно использовать ключевые слова (операторы) Dim, Private, Public или Static.
Например:
Dim WorkFile as DataFile
Возможны следующие варианты неявного описания:
Dim WorkFile as Object
Dim WorkFile as Variant
Dim WorkFile
Однако явное описание типа указывает только на то, что объект WorkFile имеет тип DataFile. Чтобы действительно создать экземпляр класса DataFile необходимо использовать инструкцию SET:
Set объект=Newкласс
Например:
Dim WorkFile as DataFile
Set WorkFile=NewDataFile
Присваивание переменной ссылки на объект всегда выполняется с помощью инструкции SET:
Set ObjectVariable = SomeObject
Например, чтобы присвоить переменной Mtpl ссылку на объект шаблона WORD:
Set Mtpl=Template
Некоторые методы возвращают ссылки объекты. Например, метод New класса WorkBook(Excel) возвращает ссылку на объект рабочего листа:
Set MyNewWorksheet=ThisWorkbook.New
Для удаления как самого экземпляра класса, так всех относящихся к нему данных можно использовать инструкцию Set следующего вида:
Set объект = Nothing
Например:
Set WorkFile = Nothing
2.7.3. Коллекции в vba
Почти половина классов объектов в Office 2000 являются коллекциями. Это объясняется тем, что элементы большинства классов можно объединить в упорядоченную совокупность, получив тем самым новый класс- коллекцию элементов. Коллекция в BVA – упорядоченная совокупность элементов разного типа. Все элементы индексированы, но некоторые могут иметь и ключ, связанный с элементом. Размер коллекции заранее не фиксируется и может динамически изменяться. Любой существующий элемент коллекции может быть удален, но при этом, элементы перенумеровываются, и непрерывность последовательности индексов не нарушается. Новый элемент может быть добавлен в произвольное место коллекции.
Коллекции также являются объектами и имеют собственные свойства и методы. Составляющие коллекцию отдельные объекты называются элементами коллекции.
В VBA встроен класс Collection, позволяющий объединить в коллекции переменные различных типов, определенных в VBA.
У класса Collection одно свойство- Count и три метода: Add, Item, Remove.
Свойство Count возвращает число элементов коллекции, доступно только для чтения, имеет тип возвращаемого значения Long.
Метод Add (item, key, before, after) добавляет элементы в коллекцию. Параметр item является обязательным и задает добавляемый элемент. Параметр key –необязателен, он задается, когда элементу ставится в соответствие ключ. Два последних необязательных параметра уточняют позицию вставки. Если не задан ни один из этих параметров, элемент добавляется в конец коллекции.
Метод Remove (key) удаляет элементы коллекции. Удаляется
элемент с заданным ключом (или индексом). После удаления происходит перенумерация элементов и уменьшается счетчик Count.
Метод Item (key) возвращает значение элемента списка с заданным ключом (индексом).
Можно ссылаться на отдельные элементы коллекции, указывая в ( ) имя конкретного объекта или его индекс – порядковый номер элемента в коллекции.
Например:
Workbooks (“msl53.xls”).Close