我想将数据表中的数据定时的放到exce表中,只是在后台运行,结果出现二个问题,一个是另存为时提示:medhod saveas not supported by automation错误,难道这里也有什么巧门;第二个问题是在关闭表时,会弹出一个提示界面,要你选择是保存还是不保存,可我只须后台自动完成,不要任何提示;代码如下(用来测试的),
procedure TForm1.Button1Click(Sender: TObject);
var
 ExcelApp:variant;
begin
  ExcelApp:=CreateOleObject('Excel.application');
  ExcelApp.Visible:=false;
  ExcelApp.caption:='电量曲线表';
  ExcelApp.Workbooks.add;
  ExcelApp.Cells[1,2].value:='2009年9月电量图';
  ExcelApp.close;
  ExcelApp.saveAs('C:\Excel\Demo1.xls');这里运行出错
  ExcelApp.WorkBooks.Close;这里又显示出是否要求保存或不保存的界面,可我只要求他后台自动完成,不要任何提示
  ExcelApp.Quit;
end;

解决方案 »

  1.   

    //  ExcelApp.close;  去掉这句
      ExcelApp.ActiveWorkBook.SaveAs('C:\Excel\Demo1.xls');
      ExcelApp.DisplayAlerts:=false;       // <--不放心可以加这句
    //  ExcelApp.WorkBooks.Close;  这句多余
      ExcelApp.Quit;
      

  2.   

    ExcelApp.ActiveWorkBook.SaveAs('C:\Excel\Demo1.xls');  // 忘记注释这句,中间加ActiveWorkBook
      

  3.   

    还要注意一下,如果excel本来就已经启动一个的时候,我记得要用另一种方法。
    而不是CreateOleObjec