Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Работа с Word






Поместите на форму компонент WordApplication и задайте свойство ConnectKind. Оно может принимать значения: ckRunningOrNew (подключение к уже запущенному серверу Word), ckNewInstance (приложение обязательно запустит для своих целей собственный экземпляр сервера), ckRunningInstance (приложение подключается только к работающему экземпляру сервера), ckRemote (соединение с сервером на удаленном компьютере).

За соединение с сервером Word отвечает метод Connect. Тип соединения задается свойством ConnectKind.

Пример соединения с выполняющимся сервером Word (тип соединения установим в ckRunningInstance):

try WordApplication1.Connect;

except application.messagebox('приложение будет закрыто', 'ошибка! ', 0);

application.Terminate;

end;

Для отсоединения используется метод Disconnect.

Рассмотрим основные свойства сервера.

AutoConnect, AutoQuit - позволяют производить соединение (True) с Word и отсоединение от него автоматически соответственно. Однако постоянно держать соединение с Word обычно не требуется.

Visible =True - MS Word во время нашей работы с ним будет видим. Обычно работа с документами производится в невидимом режиме, а потом показывают на экране уже готовый результат. Но на этапе отладки удобнее видеть своими глазами, что делает программа.

Version - версия MS Word установленного на машине.

Documents - позволяет открыть документ или создать новый, обеспечивает доступ к уже открытым документам.

Пример открытия документа (предварительно описываем переменную FileName типа OleVariant и присваиваем ей имя файла):

WordApplication1.Connect;

WordApplication1.Documents.Open(FileName,

EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam);

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

Пример создания нового документа:

WordApplication1.Connect;

WordApplication1.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

При наличии нескольких открытых документов можем переключаться между ними, но не прямо, а через «активное» окно Word.

Пример:

var vid: OleVariant;

begin vid: = 2;

WordApplication1.Windows.Item(vid).Activate;

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

При этом переменная vid может принимать значения от 1 до WordApplication1.Documents.Count. Далее можем работать с указанным документом. Нумерация документов происходит в порядке их открытия.

Можно отключить проверку правописания и грамматики:

WordApplication1.Options.CheckSpellingAsYouType: = False;

WordApplication1.Options.CheckGrammarAsYouType: = False;

Чтобы выгрузить Word, вызываем метод Quit.

Компонент WordDocument предназначен для работы с документами. Для соединения документов служит метод ConnectTo. Если открыт только один документ, то соединяемся с «активным» документом.

Для сохранения документа используем метод Save [(< новое имя>)]

Пример: filename: = 'd: \test.doc'; WordDocument1.Save(filename);

Если нужно записать документ не только под другим именем, но и в другом формате, используем Save с двумя параметрами:

WordDocument1.SaveAs(FileName, FileFormat).

Переменная FileFormat типа OleVariant может принимать значения: wdFormatDocument (документ Word), wdFormatDOSText (простой текст), wdFormatRTF (файл RTF). Полный список форматов можно найти в заголовочном файле, введя в строку поиска «Format».

Можно для сохранения использовать и метод Close.

Пример:

var vschange: OleVariant;

begin vschange: = wdSaveChanges; //режим сохранения

WordDocument1.Close(vschange);

Константа сохранения изменений может принимать значения: wdSaveChanges (сохранить изменения), wdDoNotSaveChanges (без сохранения), wdPromptToSaveChanges (при выходе стандартный диалог сохранения изменений).

Метод Close можем вызвать и без параметров. Но если в документ вносились какие-то изменения, будет выдан стандартный запрос на их сохранение.

Часто перед работой с Word возникает необходимость проверить, нет ли на машине открытых документов, сохранить их и закрыть во избежание порчи:

Var i, doccount: Integer;

begin doccount: = WordApplication1.Documents.Count;

for i: = 1 to doccount do

begin WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

WordDocument1.Save; WordDocument1.Close;

end;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.