procedure TForm1.btn_transClick(Sender: TObject); 
var 
MyWord,Formate,SaveName,MyDoc:Variant; 
FileName:string; 
begin 
MyWord:=CreateOLeObject('Word.application'); 
Myword.visible:=True; // 
FileName:=copy(Edit1.text,1,length(Edit1.text)-6); 
try 
MyDoc:=MyWord.Documents.Open(FileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Visible); 
Except 
showmessage('找不到需要转换的Word文件!'); 
Exit; 
end; 
Formate:=wdFormatHTML; 
SaveName:='1.htm'; 
MyWord.Activate; 
try 
MyDoc.SaveAs(SaveName,Formate,False,EmptyParam,true,EmptyParam,False,False,False,False,False); 
Except 
showmessage('转存失败!'); 
Exit; 
end; 
showmessage('Done'); 
end; 
在执行MyDoc.SaveAs(SaveName,Formate,False,EmptyParam,true,EmptyParam,False,False,False,False,False);的时候报错:执行远程过程出错。 
改成MyDoc.SaveAs(SaveName,Formate;还是同样问题 
请高手解决

解决方案 »

  1.   

    很简单
    不用EmptyParam 换成''
      

  2.   

    举个例:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    WordAP,SaveName:Variant;
    begin
        WordAP := CreateOleObject('Word.Application');
        WordAp.Documents.Open('C:\abc.doc');
        SaveName:='d:\1.htm';
        WordAp.documents.item(1).saveas(SaveName,8);
         WordAp.ActiveDocument.close;
        WordAp.quit;
    end;