网上去找了些,试过好像都有些问题
大家有什么好的推荐吗

解决方案 »

  1.   

    参考以下:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      dd,ee:olevariant;
    begin
      dd:=createoleobjec('word.application');
      ee:=dd.documents.open('test.rtf');
      ee.saveas('test.htm',8);
      dd.quit;
    end;或者在Form上放一个Servers页的WordApplication和WordDocument:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Word97, OleServer;type
      TForm1 = class(TForm)
        WordApplication1: TWordApplication;
        WordDocument1: TWordDocument;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var 
      ItemIndex: OleVariant; 
      FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, 
      PasswordDocument, PasswordTemplate, Revert,
      WritePasswordDocument, WritePasswordTemplate, Format, SaveChanges: OleVariant;begin  try
      Wordapplication1.Connect;
      except 
        on E: Exception do
          begin 
            Showmessage(E.Message); 
            Abort; 
          end; 
      end; 
      Wordapplication1.Visible := false;
      WordApplication1.Caption := 'Delphi automation';   FileName := 'c:\新建 Microsoft Word 文档.doc';  //要写Full Path Name;
      ConfirmConversions := False; 
      ReadOnly := False; 
      AddToRecentFiles := False; 
      PasswordDocument := ''; 
      PasswordTemplate := ''; 
      Revert := True; 
      WritePasswordDocument := ''; 
      WritePasswordTemplate := ''; 
      Format := wdOpenFormatDocument;   WordApplication1.Documents.Open(FileName, ConfirmConversions, ReadOnly,
        AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, 
          WritePasswordDocument, 
        WritePasswordTemplate, Format);   {Assign WordDocument component} 
      ItemIndex := 1; 
      WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));  Format := wdFormatRTF;
      FileName := 'c:\newrtf.rtf';
      WordDocument1.SaveAs(FileName,Format);
      //WordDocument1.Disconnect;
      SaveChanges := wdDoNotSaveChanges;
      WordApplication1.Quit(SaveChanges);
      WordApplication1.Disconnect;end;end.
      

  2.   

    网上有一个 unit rtf2html; 提供了两个函数,找一下也可以
      

  3.   

    olevariant又不是对象,怎么能用“.”呢??
    第二个例子是把doc的保存为rtf格式的吧rtf2html,你说的是
    {$D-,L-,Y-}
    unit rtf2html;(*
    --------------------------------------------------------------------------------Revision history:
     Nb.   Date:         Author   What was done.
     003   ?             ?        ?
     002   21-aug-1997   TSE      Minor (very minor) cleanup before release
     001   20-aug-1997   TSE      Unit created - RtfToHTML function
                                  designed and written.Author list:
     TSE Troels Skovmand Eriksen [email protected]
                                            [email protected]
     ?      ?                               ?Supported features:
     rev. 001 Indents, Bullets, Left-, Centered & Rightjustified text,
                    Text styles (bold, italics and underline),
                    Fonts (face, size, color).
     rev. 002 - do -
    ……
    这个吧,里面只有一个
    function RtfToHtml(const rtf:string):string;
    函数,这个也很有问题,我根本就调试不进去
    虽然编译不报错,但是结果完全不对啊