Работа с документами и класс Document
Вспомним, что мы уже знаем о документах Word. Когда открывается приложение, создается коллекция документов Documents, содержащая открытые документы. Если приложение Word создается в момент открытия документа Word, (заметим, что объект Word.Application может быть создан и в программном проекте другого приложения, например, Excel), то в начальный момент коллекция содержит минимум один новый или ранее существовавший документ. Программно новый документ добавляется в коллекцию методом Add, а уже существующий - методом Open объекта Documents. Чтобы добраться до нужного документа в коллекции, достаточно указать его индекс - имя файла, хранящего документ, - или его порядковый номер в коллекции. Для той же цели можно использовать и метод Item, но обычно он опускается. Метод Save позволяет сохранить документ, а метод Close, сохраняя документ в файле, закрывает его и удаляет из коллекции.
При применении метода Open обязательно указывать имя, а точнее путь к открываемому файлу. Однако задание конкретного пути всегда чревато неприятностями, поскольку при любом переносе системы местоположение файла может измениться. В одной из предыдущих процедур этой лекции WorkWithSearch я демонстрировал возможность использования свойства Path для нахождения пути к документу. Часто предпочтительнее предоставить пользователю возможность выбирать открываемый файл, хранящий документ. Для этого, конечно, можно использовать объект Dialog, при вызове методов которого открывается соответствующее диалоговое окно.
Вот еще один пример использования уже знакомого нам объекта Dialog FileOpen:
Public Sub WorkWithDialogs() Dim dlg As Dialog 'Открытие документа в диалоге с пользователем 'Метод Show ведет диалог и открывает документ Dialogs(wdDialogFileOpen). Show
'Метод Display ведет диалог, не открывая документа, 'но позволяя получить имя файла. Set dlg = Dialogs (wdDialogFileOpen) If dlg. Display = -1 Then 'нажата кнопка Open Documents.Open FileName:=dlg.Name End If End Sub
Листинг 1.26.
(html, txt)
Теперь подробнее рассмотрим свойства и методы документа - объекта класса Document. Это основной объект, свойства, события и методы которого следует знать основательно. Объект Document не менее сложен, чем объект Application.