9 Июнь 2008

6. Создание, сохранение и закрытие рабочих книг

Для того чтобы создать новую рабочую книгу, используется метод Add кол­
лекции Workbooks:

\Workbooks.Add(Template)

Аргумент Template задает имя файла, который будет использован в качест­ве шаблона новой рабочей книги, или одну из предопределенных констант xlWBATemplate (их можно увидеть в Object Explorer). Когда в качестве аргумента задается константа, в новой рабочей книге будет содержаться только один рабо­чий лист заданного типа. Если аргумент Template опущен, создается новая ра­бочая книга, содержащая то количество рабочих страниц, которое указано в свойстве Application.SheetslnNewWorkbook (по умолчанию — 3). Метод Add возвращает ссылку на новую рабочую книгу, которая может быть, если это не­обходимо, присвоена переменной соответствующего типа:

Dim MyWorkbook As Excel.Workbook

Set MyWorkbook=Workbooks.Add(Template)

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

Workbooks.Open(Fi1епате)

Обязательный аргумент Filename задает путь и имя открываемого файла. Метод Open имеет большое число дополнительных аргументов, которые опреде­ляют открытие только для чтения, ввод требуемого пароля (если книга защище­на) и то, добавлять ли этот файл в список последних открытых файлов (в меню File приложения Excel).

Для сохранения рабочей книги, которой уже было присвоено имя, использу­ется метод Save объекта Workbook. Этот метод не имеет аргументов. Для сохра­нения новой рабочей книги в первый раз с присвоением ей имени или для со­хранения книги под другим именем используется метод SaveAs. Его упрощен­ный синтаксис:

MyWorkbook. SaveAs (Fi 1 епате)

Аргумент Filename определяет имя файла, включая его путь. Метод SaveAs имеет также множество необязательных дополнительных аргументов, которые управляют назначением файлу пароля или формата. Эти подробности хорошо описаны в онлайновой справке.

Для сохранения копии рабочей книги под другим именем, не изменяя при этом имя текущей книги, используется метод SaveCopyAs:

^Workbook. SaveCopyAs (Fi 2 eName)

Перед тем как рабочая книга будет сохранена и ей будет присвоено имя, в свойстве Name будет содержаться имя, присвоенное по умолчанию приложением Excel (Bookl, Book2, и т.п.). После того как имя будет назначено, оно будет со­держаться в свойстве Name. Свойство Name нельзя изменить напрямую — для этого обязательно использовать метод SaveAs. Объект Workbook содержит еще два свойства, которые связаны с его именем. Как только рабочая книга была со­хранена, свойство FullName будет содержать полное имя файла (вместе с путем), а свойство Path будет содержать только путь.

Для закрытия рабочей Книги используется метод Close: MyWorkbook.С1ose{SaveChanges, FileName, RouteWorkbook)

Все три аргумента не являются обязательными. SaveChanges задает вариант действий для случая, когда рабочая книга содержит несохраненные изменения. Возможными значениями являются True (для сохранения изменений) и False (для игнорирования изменений). Если этот аргумент опущен, пользователю бу­дет предложено сохранить изменения.

FileName — это имя файла, в который сохраняется рабочая книга. Если этот аргумент опущен, используется текущее имя. Если такового не существует, пользователю будет предложено его ввести.

RouteWorkbook относится только к тем рабочим книгам, которые имеют спи­сок распространения (routing slip), но еще не были распространены; устанавли­вается в значение True, если необходимо отправить рабочую книгу следующему получателю, в противном случае устанавливается в False. Если этот аргумент опущен, пользователю выводится соответствующий запрос.

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 (сохранить изменения).

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

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

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

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