Mega Code Archive

 
Categories / Delphi / Activex OLE
 

How to save a Word Document as Rtf

Title: How to save a Word Document as Rtf uses ComObj; 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); oWord.ActiveDocument.Close(wdDoNotSaveChanges, EmptyParam, EmptyParam); oWord.Quit(EmptyParam, EmptyParam, EmptyParam); oDoc := VarNull; oWord := VarNull; Result := True; end; procedure TForm1.Button1Click(Sender: TObject); const FileName = 'c:\Document.doc'; begin if ConvertDoc2Rtf(FileName) then begin ShowMessage('Word document has been converted to .rtf'); RichEdit1.Lines.LoadFromFile(FileName); end; end;