Форум: "Основная";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
ВнизПроблемы с Word.Basic Найти похожие ветки
← →
nsvi (2006-09-23 06:14) [0]Я использую Word.Basic для пакетного конвертирования файлов Word в другие форматы файлов, например, в RTF:
procedure TForm1.CorvertDocToRtf(inname, outname: string);
var
WordApp: Variant;
begin
try
WordApp := CreateOleObject("Word.Basic");
if not VarIsEmpty(WordApp) then
begin
WordApp.FileOpen(inname);
WordApp.FileSaveAs(Name := outname, Format := 6);
WordApp.AppClose;
WordApp := Unassigned;
end;
except
showmessage("Error create Ole Object");
end;
end;
Работает прекрасно но... При конвертировании запускается кратковременно само окно Word-а, а это неприятно отражается на интерфейсе моей программы. Как не допустить запуск окна Word? или в Word.Basic это невозможно? К сожалению, поиск ответа в Интернете ничего не дал, поиск описания методов Word.Basic тоже. А есть ли возможность у Word.Application сохранять в другом формате, я не знаю, об этом также ничего не нашел.
← →
EvS © (2006-09-23 10:49) [1]А есть ли возможность у Word.Application
> сохранять в другом формате, я не знаю, об этом также ничего
> не нашел.
http://delphiworld.narod.ru/base/save_word_like_rtf.html
← →
nsvi (2006-09-23 13:08) [2]Спасибо, но чтоб просто поменять расширение, как делает этот код, не надо запускать Word.Application!
Больше он ничего не делает и формат файла с doc на rtf не меняет.
← →
EvS © (2006-09-23 14:44) [3]
uses ComObj, WordXP(Word2000);
procedure TForm1.Button1Click(Sender: TObject);
var FileName:String;
begin
FileName:= "c:\Document.doc";
If ConvertDoc2Rtf(FileName) then
begin
ShowMessage("Word document has been converted to .rtf");
RichEdit1.Lines.LoadFromFile(FileName);
end;
end;
function ConvertDoc2Rtf(var FileName: string) : Boolean;
var
oWord: OleVariant;
oDoc: OleVariant;
begin
Result := False;
try
oWord := GetActiveOleObject("Word.Application");
except
oWord := CreateOleObject("Word.Application");
end;
oWord.Documents.Open(FileName);
oDoc := oWord.ActiveDocument;
FileName := ChangeFileExt(FileName, ".rtf");
oDoc.SaveAs(FileName,wdFormatRTF);
oWord.ActiveDocument.Close(EmptyParam, EmptyParam, EmptyParam);
oWord.Quit(EmptyParam, EmptyParam, EmptyParam);
oDoc := VarNull;
oWord := VarNull;
Result := True;
end;
← →
nsvi (2006-09-24 06:02) [4]БОЛЬШОЕ СПАСИБО! Этот код работает как надо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.056 c