Основы офисного программирования и документы Word



   http://www.forteg.ru             


Разделы и поддокументы


Сейчас мы обсудим более подробно две коллекции Sections и SubDocuments, задающие разделы документа и поддокументы, входящие в состав основного документа. Почти в каждом текстовом документе можно встретить символы, слова, предложения и абзацы. Что же касается более крупных единиц текста, то в разных документах они называются по-разному. Чаще всего, приходится встречаться со страницами и листами документа, но используются и такие термины как параграфы, главы, части, разделы документа. В объектной модели Word, к сожалению, нет таких объектов как Page и Pages, соответствующих таким естественным единицам текстового документа как страницы документа и их коллекции. В документе Word следующей крупной единицей после абзаца является раздел - объект класса Section. Все разделы одного документа составляют коллекцию Sections.

Что же такое раздел, как и для чего он создается? Раздел в документе всегда можно создать руками, для чего достаточно вставить символ разрыва документа - Section break, вызвав пункт Break из меню Insert. Символ разрыва может быть разного типа, задавая следующую страницу, четную или нечетную страницу, столбец и другие виды раздела. Таким образом, можно руками разбить документ на страницы, вставляя подходящие символы разрыва в нужных местах. В этом случае разделы будут выступать в роли страниц документа. Иногда разделы создаются автоматически, например, при представлении некоторой части документа в виде нескольких столбцов. Часть документа, представленная в виде нескольких столбцов, представляет отдельный раздел.

При программной работе разделы можно создавать двояко, используя метод InsertBreak, которым обладают объекты Range и Selection, или вызывая метод Add коллекции Sections. Метод Add(Range, Start) имеет два параметра:

  • Range задает область, начинающую новый раздел, или, что тоже, область, перед началом которой будет вставлен символ разрыва.
  • Start задает тип символа разрыва.

Заметьте, в методе InsertBreak указывается только второй параметр, поскольку новый раздел начинается с объекта Range (Selection), вызвавшего метод.

Рассмотрим пример, в котором документ с именем DocThree, программно разбивается на разделы. Наше разбиение гарантирует, что соответствующие главы и параграфы документа находятся в отдельных разделах, что облегчает дальнейшую работу с ними. Вот как выглядит процедура, решающая эту задачу:




Содержание  Назад  Вперед