На этом шаге мы рассмотрим открытие документов различных типов.
Ранее созданный документ можно открыть с помощью метода Open. При вызове метода можно указать и несколько аргументов, но главный из них - ссылка на путь и имя файла. Откроем ранее созданный документ. Дополним пример из шага 44 кнопкой открытия документа.
Рис.1. Внешний вид измененного приложения
Обработчик нажатия на эту кнопку выглядит так:
procedure TForm1.Button4Click(Sender: TObject); //Открытие документа begin if OpenDialog1.Execute then W.Documents.Open(OpenDialog1.FileName); end;
Результат выполнения данного фрагмента программы представлен на рисунке 1.
Рис.2. Результат работы фрагмента программы
Метод Open коллекции Documents можно вызывать с несколькими аргументами. Обратимся к справочной системе Visual Basic и рассмотрим синтаксис и аргументы этого метода (таблица 1).
Documents.Open(FileName, ConfirmConversions, Readonly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format)
Аргумент | Тип | Значение |
---|---|---|
FileName | String | Путь и имя файла |
ConfirmConversions | Boolean | False - не открывать диалоговое окно Преобразование файла при открытии файла, формат которого отличается от DOC |
Readonly | Boolean | True - открыть документ в режиме "только для чтения" |
AddToRecentFiles | Boolean | True - добавляет имя файла в список файлов меню File |
PasswordDocument | String | Пароль для открытия документа |
PasswordTemplate | String | Пароль для открытия шаблона |
Revert | Boolean | True - возврат к сохраненному документу, если этот документ открывается повторно |
WritePasswordDocument | String | Пароль для сохранения измененного документа в файле |
WritePasswordTemplate | String | Пароль для сохранения изменений в шаблоне |
Format | Число | Формат открываемого документа |
При вызове метода Open можно игнорировать некоторые аргументы и не указывать их, например, вызов W.Documents.Open(FileName); просто открывает файл без каких-либо дополнительных возможностей. Если немного изменить синтаксис вызова - W.Documents.Open(FileName:= 'с:\Документ1.dос');, то конечный результат будет таким же, как и в первом случае. Когда нам потребуется открыть документ в режиме "только для чтения", то используем следующий синтаксис:
W.Documents.Open (FileNaine:='с: \Документ1.doc', Readonly:=True);
Разместим в нашей форме кнопку и напишем программный текст, позволяющий открывать документы в режиме "только для чтения".
Рис.3. Внешний вид измененного приложения
procedure TForm1.Button5Click(Sender: TObject); //Открытие документа в режиме "только чтение" begin if OpenDialog1.Execute then W.Documents.Open(OpenDialog1.FileName, ReadOnly:=true); end;
Если для открытия документа используется не два, а три аргумента, независимо от их последовательности, то синтаксис изменится на одну запись. Например: откроем документ в режиме "только для чтения", который защишен паролем.
W.Documents.Open (FileName:='с:\Документ1.doc', Readonly:=True, PasswordDocument:='123');
Здесь строка '123' - значение пароля.
Обратим внимание на последний аргумент метода Open - Format. Этот аргумент может принимать целые числовые значения и определяет формат открываемого документа (таблица 2).
Константа | Значение | Формат открываемого документа |
---|---|---|
WdOpenFormatAuto | 0 | Выбирается автоматически |
WdOpenFormatDocument | 1 | Документ Word (файл с расширением DOC) |
WdOpenFormatRTF | 3 | Документ в формате RTF (файл с расширением RTF) |
WdOpenFormatTemplate | 2 | Шаблон Word (файл с расширением DOT) |
WdOpenFormatText | 4 | Текст (файл с расширением ТХТ) |
WdOpenFormatUnicodeText | 5 | Кодированный текст (файл с расширением ТХТ) - текст в формате UNICODE |
Откроем текстовый файл, используя возможность задания формата открываемого документа. Для этого добавим в форму кнопку и напишем следующий фрагмент программы:
procedure TForm1.Button6Click(Sender: TObject); //Открытие TXT-документа begin if OpenDialog1.Execute then W.Documents.Open(OpenDialog1.FileName, Format:=4 {wdOpenFormatText}); end;
Результат выполнения этой процедуры представлен на рисунке 4.
Рис.4. Результат работы приложения
На следующем шаге мы рассмотрим работу со списком открытых документов.