Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с документами.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
244 Кб
Скачать
☆

10.2.3. Close - закрываем все документы

Метод Close используется для закрытия всех открытых документов. Применяют его достаточно редко - удобнее закрывать каждый конкретный документ по отдельности. При вызове метода без параметров система задаст вопрос о сохранении документов, которые были изменены (листинг 10.4.).

Documents.Close

Листинг 10.4. Закрываем все документы (html, txt)

Полный вызов метода выглядит так:

Documents.Close(SaveChanges, OriginalFormat, RouteDocument)

Среди параметров для нас наибольший интерес представляют первых два.

SaveChanges (Сохранить изменения) отвечает за сохранение изменений. По умолчанию он установлен в wdPromptToSaveChanges(Вывести запрос о сохранении), так же он может быть установлен в wdDoNotSaveChanges (Не сохранять изменения) и wdSaveChanges(Сохранить изменения). Как видите, с помощью параметра wdSaveChanges можно организовать удобное и быстрое закрытие множества документов с сохранением изменений

OriginalFormat (Формат) - отвечает за формат сохраняемого документа. Может принимать различные значения:wdOriginalDocumentFormat (Оригинальный формат документа), wdPromptUser (Запросить формат у пользователя), wdWordDocument(Документ Word).

Вот как выглядит вызов метода Close, который сохраняет все открытые документы и закрывает их (листинг 10.5.)

Documents.Close (wdSaveChanges)

Листинг 10.5. Закрываем все документы, предварительно сохранив (html, txt)

Учтите - если какие-то из документов сохраняются в первый раз - вы получите запрос об имени документа.

10.2.4. Item - обращаемся к отдельным документам

10-01-Item.docm - пример к п. 10.2.4.

Метод Item позволяет обращаться к открытым документам (то есть - к объектам Document ), используя их индексы или имена. Нумерация документов начинается с единицы. Чтобы узнать общее количество открытых документов, можно воспользоваться свойством Documents.Count.

Например, с помощью нижеприведенного кода из листинга 10.6 мы поочередно выводим имена открытых документов с указанием номера документа в коллекции:

For i = 1 To Documents.Count

MsgBox (Documents.Item(i).Name & _

" - документ номер " & i)

Next i

Листинг 10.6. Выводим имена и номера документов (html, txt)

Очевидно, что свойство Count коллекции Documents позволяет узнать количество открытых документов, а свойство Name объектаItem(i) содержит имя документа с индексом i.

На рис. 10.1 вы можете видеть одно из окон с сообщением об имени и номере документа.

Рис. 10.1.  Окно сообщения об имени и номере документа

К документам в коллекции Documents можно обращаться и по именам. Также, при обращении к документу необязательно напрямую указывать метод Item - в листинге 10.7 вы можете видеть различные варианты обращения к документу.

MsgBox Documents("Мой документ.docx").Name

MsgBox Documents.Item("Мой документ.docx").Name

MsgBox Documents(1).Name

Листинг 10.7. Выводим имена и номера документов (html, txt)

10.2.5. Save - сохранение всех документов

Метод Save сохраняет все документы коллекции. Если документ сохраняется впервые - будет выведено окно с запросом имени файла. В листинге 10.8 приведен пример вызова метода.

Documents.Save

Листинг 10.8. Сохраним все документы в коллекции (html, txt)

10.3. Свойства коллекции Documents

Среди свойств коллекции Documents нас будет интересовать лишь одно - Count. Это свойство позволяет узнать количество элементов в коллекции Documents, то есть - количество открытых документов. В листинге 10.9 мы выводим в окне сообщения количество открытых документов

MsgBox ("Количество открытых документов: " & _

Documents.Count)

Листинг 10.9. Сохраним все открытые документы (html, txt)

10.4. Объект Document

Объект Document - это открытый документ. У него есть множество свойств и методов, которые активно используются при программной работе с документами. Здесь мы рассмотрим важнейшие из них.

10.5. Методы объекта Document

10.5.1. Activate - сделаем документ активным

Позволяет сделать документ активным. Например, это может понадобиться для редактирования документа.

Например, код из листинга 10.10 активирует первый документ среди открытых документов.

Dim obj_Doc As Document

Set obj_Doc = Documents.Item(1)

obj_Doc.Activate

Листинг 10.10. Активируем первый из открытых документов (html, txt)

10.5.2. Close - закрыть документ

Метод Close закрывает документ. Например, код из листинга 10.11 позволяет закрыть документ, из которого он запущен.

ThisDocument.Close

Листинг 10.11. Закрываем документ, из которого запущен макрос (html, txt)

Метод можно вызывать с параметрами. В частности, полезен параметр SaveChanges, предназначенный для настройки автоматического сохранения документа. Если присвоить ему значение wdSaveChanges - документ будет сохранен при закрытии. Например, код из листинга 10.12 по очереди закрывает каждый из открытых документов.

Dim obj_Doc As Document

For Each obj_Doc In Documents

obj_Doc.Close SaveChanges:=wdSaveChanges

Next

Листинг 10.12. Закрываем каждый из открытых документов (html, txt)

При закрытии документов, которые были открыты и изменены, система выведет запрос о сохранении изменений.