Объект Document представляет документ Word. Семейство Documents состоит из всех объектов Document, соответствующих всем открытым документам.
Для активизации конкретного документа из числа открытых используется метод Activate. Для добавления объекта в семейство используется метод Add (создается новый документ в соответствии с шаблоном и представляющий его объект добавляется в семейство Documents). Например, следующие операторы:
создают новый документ на основе шаблона Normal.dot и выводят его имя на экран. Имя или индекс позволяют идентифицировать созданный документ в семействе.
Метод Open позволяет открыть файл документа Word, представляющий его объект Document включается в семейство объектов Documents. Например, следующий оператор открывает документ только для чтения:
Объект Document имеет иерархическую структуру. Ниже описаны основные, наиболее часто используемые объекты в его структуре.
Свойства объекта Document представляются семейством DocumentProperties. Каждый объект DocumentProperty из этого семейства представляет встроенное свойство документа или свойство, заданное пользователем. Список доступных свойств документа можно просмотреть в справочной системе, выбрав в окне просмотра объектов данный объект и вызвав справку. Свойства документа доступны также через обращение к соответствующему свойству объекта Document.
Объект Template представляет шаблон документа. Объекты этого типа образуют семейство Templates, в которое включены все доступные шаблоны.
Для работы с разделами в документе используется объект Section. Множество разделов документа или выделенной его части представляется объектом-семейством Sections.
Объект PageSetup представляет описание установок, сделанных для страницы (размер бумаги, поля и т.п.). Установки можно сделать как для всего документа, так и для его раздела. Например, оператор
Объект Paragraph представляет абзац в тексте документа, а объект Paragraphs – семейство объектов Paragraph. Эти объекты позволяют включать в текст новые абзацы, форматировать, удалять их и т.п. Следующий оператор выравнивает все абзацы активного документа по правому краю:
Семейство Tables представляет таблицы в выделенной части документа, заданном диапазоне или во всем документе. Семейство состоит из объектов Table. Объект Table представляет единственную таблицу. Этот объект структурирован, он имеет иерархическое строение. На следующем уровне иерархии находятся объекты Borders, Cells, Columns, Range, Rows и Shading.
Следующая последовательность оператором добавляет в документ две пустые таблицы (в начало и в конец документа):
В первой таблице содержится три строки и четыре столбца, а во второй – шесть строк и 10 столбцов.
Объект Borders – это семейство объектов Border, представляющих границы таблицы. Установка свойств этого объекта дает возможность определить характеристики границ.
Объект Cells – это семейство объектов Cell, представляющих отдельные ячейки таблицы. Эти объекты также имеют «подобъекты», расположенные на следующем уровне иерархии: у каждой ячейки есть границы (Borders), каждая ячейка находится в определенном столбце (Column) и строке (Row), ей соответствует диапазон (непрерывная область в документе – Range), для каждой ячейки можно установить атрибуты заливки («затенения» – Shading).
Следующие операторы выполняют заливку ячейки, находящейся на пересечении первой строки и второго столбца, для заливки используется текстура:
Set myCell = ActiveDocument.Tables(1).Cell(Row:=1, Column:=2) myCell.Shading.Texture = wdTextureAuto
Объект Columns – это семейство объектов Column, представляющих столбцы таблицы. Этот объект имеет дочерние объекты на следующих уровнях иерархии: границы (Borders), ячейки, образующие столбец (Cells), и может иметь свои атрибуты заливки (Shading).
Аналогичную структуру имеют объекты Row, представляющие отдельные строки таблицы. Эти объекты объединяются в семейства, представляемые объектами Rows. Каждое семейство – это набор строк в таблице, в выделенном фрагменте или заданном диапазоне.
Семейство Words представляет набор слов в указанном или выделенном диапазоне или в документе. Каждый элемент этого семейства является объектом Range, представляющим одно слово.
Семейство Characters – это множество символов в выделенном фрагменте, указанном диапазоне или во всем документе. Каждый элемент этого семейства – объект Range, который представляет один символ.
Объект Range представляет непрерывную область в документе. Каждый объект Range определяется позициями начального и конечного символа. Этот объект не зависит от выделения. Данный объект также структурирован: выделение может содержать абзацы, слова, символы и т.д. Следующие операторы выводят количество слов в выделенном фрагменте текста и меняют шрифт первого слова:
MsgBox Selection.Words.Count & " words are selected"