
- •Программирование в среде 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.6. Классы, представляющие структуру документа
Как уже говорилось выше, документ Word может иметь сложную структуру, в которой могут быть выделены разные по назначению части. Каждой части документа, или каждому понятию, определяющему эту часть, соответствует свой класс. Перечислим некоторые из них.
Tables(Table) – класс определяет таблицу с произвольным количеством строк и столбцов и произвольным заполнением полей.
Column, Row, Cell – встроенные в класс Table объекты, представляющие собой элементы таблицы: колонку, строку, ячейку.
Пример 3.19.
Public Sub tabl()
Dim n As Byte
With ActiveDocument
.Paragraphs.Add
n = .Paragraphs.Count
Set tbl = .Tables.Add(Range:=.Paragraphs(n).Range, _ numrows:=10, numcolumns:=3)
tbl.Cell(1, 1).Range.InsertAfter "№"
For i = 2 To tbl.Rows.Count
tbl.Cell(i, 1).Range.InsertAfter i - 1
Next i
tbl.AutoFormat
End With
End Sub
В примере в конец активного документа вставляется новая таблица и заполняется номерами первая колонка.
Shapes(Shape), InlineShapes(InlineShape) – классы представляющие такие объекты, как рисунки, ArxiveX- объекты и OLE-объекты. Отличаются объекты этих классов между собой тем, как они привязаны к документу. Объекты Shape закрепляются за диапазоном документа, но могут свободно перемещаться внутри него. Объекты InlineShape размещаются на строке текста как символы.
Пример 3.20.
‘ перед пятым абзацем вставляется пустой абзац, а в него рисунок
Public Sub ris()
With ActiveDocument
.Paragraphs(5).Range.Select
Selection.InsertParagraphBefore
.Shapes.AddPicture Anchor:=Selection.Range, FileName:="C:\Program_ Files\Microsoft Office\Clipart\Popular\CAR.WMF", LinkToFile:=True,_ SaveWithDocument:=True
End With
End Sub
Fields(Field) – класс объектов, представляющий поля документа. С помощью свойств и методов объектов данного класса в документ можно добавлять поля, получать или устанавливать его результат. В примере в активный документ первым абзацем добавляется дата:
Пример 3.21.
Public Sub Insert_data()
With ActiveDocument
Set rng = .Paragraphs(1).Range
rng.Select
Selection.InsertParagraphBefore
Selection.Move unit:=wdParagraph, Count:=-1
.Fields.Add Range:=Selection.Range, Type:=wdFieldDate
rng.Paragraphs(1).Alignment = wdAlignParagraphRight
End With
End Sub
3.3. Автоматизация работы в Access на основе использования Access vba
3.3.1. Средства автоматизации работы в Access.
Access – реляционная СУБД, обеспечивающая доступ ко всем типам данных и позволяющая использовать одновременно несколько таблиц базы данных.
Aссess – это набор инструментов конечного пользователя для управления базами данных. На основе использования макросов или модулей для автоматизации решения задач можно использовать ориентированные на пользователя мощные приложения, включающие кнопки, меню, диалоговые окна.
В спектре продуктов Microsoft ACCESS является единственным пакетом, обладающим сразу двумя средствами автоматизации:
- макропрограммированием;
- программированием на языке VBA.
Данные средства автоматизации взаимно независимы. С помощью макрокоманд обычно строится простое приложение или прототип.
Большинство макродействий служит для манипуляции объектами в окне "База данных" и содержащимися в них самих объектами. Access не предусматривает возможности создания собственных макродействий. Для выполнения сразу нескольких макродействий можно определить макрокоманду - список макродействий.
Язык VBA мощнее макроязыка, он обладает средствами, недоступными в макроязыке. Макрокоманды всегда можно преобразовать в процедуры VBA.
Программирование на языке VBA в Access предусматривает два способа манипуляции объектами. Первый - такой же, как в макропрограммировании: действие над объектом осуществляется путем вызова внешней для него программы. В Access VBA внешние программы аналогичны макродействиям и определяются как методы специального объекта Access -DoCmd.
Второй способ манипуляций объектами позволяет работать непосредственно с объектом и его внутренними программами (объектный подход). Объекты доступа к данным предназначены для программного доступа и управления самими базами данных, их объектами и структурой. В MS Access 2000 можно использовать две разные модели объектов для доступа к данным – новая версия модели доступа к данным Microsoft DAO 3.6 и новая модель доступа к данным Microsoft ADO 2.1.