|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#2
|
|||
|
|||
implementation
uses ComObj; var W:variant; //Открываем Word Код:
Function CreateWord:boolean; begin CreateWord:=true; try W:=CreateOleObject('Word.Application'); except CreateWord:=false; end; End; //Функция для видимости Word(false-не показывать, ну и true - показать) Код:
Function VisibleWord(visible:boolean):boolean; begin VisibleWord:=true; try W.visible:= visible; except VisibleWord:=false; end; End; //Функция создания нового документа Код:
Function AddDoc:boolean; Var Doc_:variant; begin AddDoc:=true; try Doc_:=W.Documents; Doc_.Add; except AddDoc:=false; end; End; //Открытие ранее созданного документа. Код:
Function OpenDoc(file_:string):boolean; Var Doc_:variant; begin OpenDoc:=true; try Doc_:=W.Documents; Doc_.Open(file_); except OpenDoc:=false; end; End; //Сохранить документ Код:
Function SaveDocAs(file_:string):boolean; begin SaveDocAs:=true; try W.ActiveDocument.SaveAs(file_); except SaveDocAs:=false; end; End; //Сохранить документ в Юникоде Function SaveDocAsUnicod(file_:string):boolean; const wdFormatUnicodeText=7; begin SaveDocAsUnicod:=true; try W.ActiveDocument.SaveAs(file_,FileFormat:=wdFormatUnicodeText); except SaveDocAsUnicod:=false; end; End; //Закрытие документа Код:
Function CloseDoc:boolean; begin CloseDoc:=true; try W.ActiveDocument.Close; except CloseDoc:=false; end; End; //Ну и самого Ворда Код:
Function CloseWord:boolean; begin CloseWord:=true; try W.Quit; except CloseWord:=false; end; End; Использование: Код:
if CreateWord then begin //Запускаем Ворд VisibleWord(true); //Показываем его пользователю If AddDoc then begin //Создаем новый документ {OpenDoc('C:\123.doc')} //Ну или открываем существующий //Теперь юзер делает че ему надо.... SaveDocAs('c:\123'); //если надо - сохраняем CloseDoc; //закрываем документ CloseWord; //закрываем Ворд P.S. Проверял на Word2000/2003/XP -Все работает без проблем. Писал прямо на форуме, поэтому могут быть маленькие опечатки! |