一点错也没有:type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}uses ComObj;procedure TForm1.Button1Click(Sender: TObject);
var NewDoc:variant; V: OleVariant; FileNameTemp :String;beginif OpenDialog1.Execute thenbeginFileNameTemp := OpenDialog1.FileName;V := CreateOleObject('Word.Application'); //½¨Á¢×Ô¶¯»¯¶ÔÏóNewDoc :=V.Documents.Open(OpenDialog1.FileName); //´ò¿ªÖ¸¶¨ÎļþNewDoc.SaveAs('D:\TEMP7.rtf',3); //°ÑÎļþÁí´æΪD:\TEMP7.rtfNewDoc.Close; //¹Ø±ÕWordÎļþV.Quit; //ÊÍ·Å×Ô¶¯»¯¶ÔÏóMemo1.Lines.Clear;Memo1.Lines.LoadFromFile('D:\TEMP7.rtf'); //¶ÁÈëÁÙʱÎļþD:\TEMP7.rtfend;end;

解决方案 »

  1.   

    用我的试试unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComObj;type
      TForm1 = class(TForm)
        Button1: TButton;
        OpenDialog1: TOpenDialog;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
    NewDoc:variant;
    V: OleVariant;
    FileNameTemp :String;
    begin
    if OpenDialog1.Execute then
    begin
    FileNameTemp := OpenDialog1.FileName;
    V := CreateOleObject('Word.Application'); //建立自动化对象
    NewDoc :=V.Documents.Open(OpenDialog1.FileName); //打开指定文件
    NewDoc.SaveAs(FileName :='D:\TEMP7.rtf',FileFormat:=3); //把文件另存为D:\TEMP7.rtf
    NewDoc.Close; //关闭Word文件
    V.Quit; //释放自动化对象
    Memo1.Lines.Clear;
    Memo1.Lines.LoadFromFile('D:\TEMP7.rtf'); //读入临时文件D:\TEMP7.rtf
    end;
    end;end.