我在程序中建立了一个Excel报表模板,运行程序的时候是先打开Excel工作簿,然后对工作簿内容进行修改,修改完之后用Save方法进行保存,每次都出现文件已经存在,是否替换原来的文件的对话框,有没有什么方法既能保存修改过的工作簿,又簿出现替换对话框?请高手指教,谢谢!

解决方案 »

  1.   

    设置Excelapplication.DisplayAlerts=false
      

  2.   

    把部分代码贴出来看看?用save方法不会出现提示框的啊
      

  3.   

    主要代码如下:
      
      ExcelXsl:=CreateOleObject('excel.application');
      ExcelXsl.Workbooks.open(ExtractFilePath(Application.ExeName)+'QKJH.xls');
      Sheet:=ExcelXsl.Workbooks[1].WorkSheets[1];  iRow:=2;
      ADOQuery1.First;
      
      while not adoquery1.Eof do
      begin  
       ExcelXsl.cells[iRow,1]:=ADOQuery1.FieldByName('QK').AsString;
      ExcelXsl.cells[iRow,2]:=ADOQuery1.FieldByName('JH').AsString;
       iRow:=iRow+1;
       ADOQuery1.Next;
      end; 
     
     // ExcelXsl.Workbooks[1].SaveAs('QKJH.xls');
      ExcelXsl.ActiveWorkbook.Save;
      ExcelXsl.workbooks[1].Close(True,ExtractFilePath(Application.ExeName)+'QKJH.xls',false);
      ExcelXsl.Quit;
      ExcelXsl := Unassigned;还请各位多多指教,谢谢了!
      

  4.   

    ExcelXsl.ActiveWorkbook.Save;前面加上
    ExcelXsl.DisplayAlerts=false;试试?
      

  5.   

    ExcelXsl.DisplayAlerts=false;刚好前一天遇到楼主一样的问题
      

  6.   

    问题解决了,多谢!
    加上ExcelXsl.DisplayAlerts=false;就可以了!散分了!