![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Работа с 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;
|