9 Январь 2008

2. Создание, сохранение и закрытие документов

Открытие и закрытие документов

Для создания нового документа используется метод Add коллекции Documents. Его синтаксис следующий:

Dim MyDoc as Word.Document

Set MyDoc = Documents.Add{Template, NewTemplate)

Аргумент Template задает имя шаблона, на котором будет основываться но­вый документ. Аргумент NewTemplate определяет, будет ли сам новый документ шаблоном (NewTemplate=True) или обычным документом (NewTemplate=False). Эти два аргумента метода не являются обязательными. Если они опущены, соз­дается обычный документ, основанный на шаблоне Normal.

Создать новый документ и присвоить ему имя можно одновременно, например:

Dim MyDoc As Word.Document Document s.Add.SaveAs(Fi1eName) Set MyDoc=Documents(Fi1eName)

Если документу во время его создания не присваивается имя, это имя следует присвоить при первом его сохранении, как будет показано в следующем разделе. Для открытия с диска существующего документа используется метод Open:

Dim MyDoc As Word.Document

Set MyDoc = Documents.Open(FileName)

Аргумент FileName задает путь и имя файла открываемого документа. Если заданный файл не существует или не является допустимым документом Word, возникает ошибка. Существуют средства, которые можно использовать для предотвращения ошибки типа “file not found“. Одним из них является объект Dialog, который позво­ляет пользователю выбрать нужный файл. Вторым является объект FileSearch, который используется для про­верки существования заданного файла перед попыткой открыть его.

Сохранение и закрытие документов

Метод Close объекта Document используется для закрытия документа. Его синтаксис представлен ниже (предполагается, что MyDoc — ссылка на документ):

MyDoc.Close(SaveChanges, OriginalFormat, RouteDocument)

Аргумент SaveChanges определяет, должен ли перед закрытием документ быть сохранен. Возможными значениями его могут быть следующие константы: wdDoNotSaveDocument (не сохранять документ), wdPromptToSaveChanges (запро­сить сохранение изменений) и wdSaveChanges (сохранить изменения).

faster movies

Аргумент OriginalFormat задает формат, в котором будет сохранен доку­мент. Возможны следующие варианты значений: wdOriginalDocumentFormat (исходный формат документа), wdPromptUser (запросить пользователя) и wdWordDocument (формат документа Word).

Аргумент RouteDocument может иметь значения True и False (по умолча­нию), он определяет, должен ли документ отсылаться следующему получателю в списке распределения (routing). Значение True,не будет иметь смысла, если до­кумент не имеет присоединенного к себе списка рассылки.

Все открытые документы можно закрыть, используя метод Close коллекции Documents. Его аргументы — те же, что и для вышеописанного метода объекта Document.

1. Объектная модель Word

Приложение Word предназначено для создания документов, которые затем могут быть распечатаны или помещены на странице в Интернет. В приложении все вращается вокруг концепции документа, которым может быть все, что угодно — от 2-строчной записки, до 500-страничного многотомного отчета. Ос­новными функциями приложения Word является ввод и редактирование текста, форматирование внешнего вида текста и его размещения на странице, помеще­ние текста в колонки и таблицы. Также поддерживаются особые элементы, такие как верхние и нижние колонтитулы, номера страниц, индексы, и таблицы. Word также имеет встроенный словарь для проверки правописания и орфогра­фии и тезаурус для нахождения синонимов. Если ваше приложение должно ра­ботать с текстом, вам следует, прежде всего, посмотреть на среду приложения Word.

Истории в документе

Каждый документ Word состоит из некоторого количества историй, которые представляют разные части документа: основной текст, первую страницу, заго­ловок, примечания и т.д. Каждая история представлена объектом Range, содер­жащим ее. Доступ к историям можно получить посредством коллекции sto-ryRanges, которая принадлежит объекту Document. В отличие от других кол­лекций, StoryRanges не имеет метода Add. Истории создаются автоматически и помещаются в коллекцию, когда в них появляется некоторое содержание. Одна­ко главная текстовая история существует независимо от того, содержит она текст или нет. Для ссылок на разные истории служат следующие константы.

WdCommentsStory (комментарии);

WdEndNotesStory (примечания);

WdEvenPagesFooterStory (нижний колонтитул нечетных страниц);

WdEvenPagesHeaderStory (верхний колонтитул нечетных страниц);

WdFirstPageFooterStory (нижний колонтитул первой страницы); WdFirstPageHeaderStory (верхний колонтитул первой страницы); WdFootNotesStory (сноски); wdMainTextstory (основной текст);

WdPrimaryFooterStory (основные нижние колонтитулы); WdPrimaryHeaderStory (основные верхние колонтитулы); WdTextFrameStory (рамки).

Ссылку на конкретную историю можно получить следующим образом:

Dim StoryRange as Word.Range

Set StoryRange=MyDoc.StoryRanges (StoryType)

Здесь StoryType — одна из вышеперечисленных констант. Но если заданная история не присутствует в документе, возникает ошибка. Эту ошибку можно пе­рехватить но все же во избежание этой потен­циальной проблемы следует пройти в цикле по коллекции StoryRanges, чтобы проверить, существует ли данная история:

Dim StoryRange as Word.Range

Dim R As Word.Range

Dim StoryExists As Boolean

StoryExists=False

For Each R In MyDoc.StoryRanges

If R.StoryType=wdPrimaryHeaderStory Then Set StoryRange=R StoryExists=True

End If Next R If Not StoryExists Then

MsgBox (”The Primary Header Story does not exists.”) End If

А вот фрагмент программы, который добавляет текст “Compiled by R.Smithв конец существующего текста в основных нижних колонтитулах:

toy story 3 films online

Dim R As Word.Range

Dim S As String

For Each R In ActiveDocument.StoryRanges

If R.StoryType=wdPrimaryFooterStory Then

S=R.Text End If Next R

ActiveDocument.Selections (1).Footers _ (WdPrimaryFooterStory). _ Range.Text=S & “Compiled by R.Smith”

< 1 2 3 ?

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress