- •Программирование в среде 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.Список рекомендуемой литературы
3.2.4. Классы, задающие структуризацию текста документа.
При работе с текстом его целесообразно структурировать. Минимальной единицей текста является символ. Однако в качестве единицы текста могут выступать также и слова, предложения, абзацы, разделы. Часто требуется выполнять операции не только над отдельной единицей текста, но и над некоторой их последовательностью. Объект Document имеет свойства, позволяющие получить следующие коллекции:
Characters – коллекция символов текста документа;
Words – коллекция слов;
Sentences – коллекция предложений;
Paragraphs – коллекция абзацев;
Sections - коллекция разделов или секций документа.
Коллекции Characters, Words, Sentences могут быть получены через свойства не только объекта Document, но и объектов Selection и Range.
Все эти коллекции имеют свойства:
Application – свойство возвращает корневой объект Application;
Count – свойство возвращает количество элементов в коллекции;
First – свойство возвращает объект, являющийся первым элементом коллекции;
Last - свойство возвращает объект, являющийся последним элементом Parent – свойство возвращает родительский для коллекции объект.
Коллекции Characters, Words, Sentences имеют единственный метод Item(Index), который возвращает для всех коллекций объект Range, представляющий собой последовательность элементов текста. Работа с этой последовательностью ведется с помощью методов объекта Range.
Коллекция Paragraphs (коллекция абзацев) может быть получена через свойство Paragraphs объектов класса Document, Selection и Range.
Абзац представляет собой структурно выделенную единицу текста, характеризующуюся определенными параметрами: отступами, межстрочным интервалом, стилем и т.д.
Коллекция Paragraphs имеет все вышеперечисленные для данной группы коллекций свойства и множество свойств, значения которых определяют формат абзаца.
Формат абзаца может быть определен и с помощью методов. Рассмотрим некоторые методы коллекции Paragraphs:
Item – определяет элемент коллекции;
Add – добавление нового пустого абзаца (параметр метода указывает точку вставки, задается объектом Range);
InsertParagraph, InsertParagraphAfter, InsertParagraphBefore – осуществляет вставку пустого абзаца вместо текста или после, или перед текстом, задаваемым объектом Selection или Range;
Reset – удаляет форматирование, сделанное вручную, применяя к абзацу формат, заданный стилем абзаца;
Indent, Outdent – увеличивают, уменьшают отступ абзаца от края листа;
TabHangingIndent(Count),TabIndent(Count) – увеличивают (Count>0), уменьшают (Count <0) выступ или отступ абзаца от края листа на заданное количество позиций;
Space1, Space2, Space15 – устанавливают межстрочный интервал (одинарный, двойной, полуторный);
OutlineDemote, OutlinePromote – понижают, повышают уровень заголовка в интервале Заголовок1 – Заголовок8.
Коллекция Sections (коллекция разделов) может быть получена через свойство Sections объектов класса Document, Selection и Range.
С понятием раздел в Word связывается не только последовательность текста, но и стиль форматирования, установки, принятые для его страниц, верхних и нижних колонтитулов и т.д.
Коллекция Sections, кроме вышеперечисленных свойств: Application, Count, First, Last, Parent, имеет свойство PageSetup.
Свойство-участник PageSetup возвращает объект класса PageSetup, свойства и методы которого позволяют устанавливать характеристики страницы одновременно для всех разделов коллекции.
В коллекции Sections всего два метода: Item и Add.
Метод Add добавляет новый раздел в документ:
Add ([Range], [Start])
Параметр Range указывает объект, перед которым будет вставлен символ прерывания, заканчивающий раздел (в случае отсутствия параметра, раздел вставляется в конец документа). Параметр Start определяет тип символа прерывания: раздел будет начинаться со следующей страницы, на той же странице, на четной или на нечетной странице.
При работе с коллекциями (последовательностью объектов) часто приходится организовывать цикл с целью получения доступа к каждому элементу . VBA позволяет сделать это двумя способами.
С использованием цикла For…Next:
With <объект>
For i=1 To .Count
… ‘ работа с i-ым элементом коллекции
Next i
End With
Этот способ использован в примере 3.7.
С использованием конструкции For Each…Next:
For Each <элемент> In <коллекция>
<операторы>
[Exit For]
[<операторы>]
Next [<элемент>]
Где <элемент> - объект (переменная), являющийся объектом коллекции или совпадающим по классу с элементами коллекции, или имеющий тип Variant. Данная переменная на каждом шаге цикла становиться очередным объектом коллекции. Цикл заканчивается, когда коллекция исчерпана. Конструкция Exit For используется для досрочного выхода. Этот способ использован в примере 3.6.