打开,保存,关闭Excel的代码没有错误。
运行了以下代码,也并没有错误啊!??错误可能不在这里,你自己再分析一下。
   excelapp := CreateOleObject('Excel.Application');
   ExcelApp.WorkBooks.Add;
   excelapp.WorkBooks.Open('c:\描述输入.xls');
   excelapp.WorkSheets[1].Activate;   ExcelApp.ActiveWorkBook.Saved:=false;//这里出错,错误如下
   excelapp.ActiveWorkBook.Close ;
   excelapp.Quit;

解决方案 »

  1.   

    谢谢,是没有错,但是会跳出
     
    是否保存覆盖原来,而且是。txt文件,如何能自动保存呢,
      

  2.   


      ...
      Excelapp.ActiveWorkBook.SaveAs('c:\描述输入.xls');
      Excelapp.ActiveWorkBook.Saved:=True;
      excelapp.ActiveWorkBook.Close ;
      excelapp.Quit;
      

  3.   

    ---------------------------
    Debugger Exception Notification
    ---------------------------
    Project main.exe raised exception class EOleException with message '不能访问只读文件“描述输入.xls”。'. Process stopped. Use Step or Run to continue.
    ---------------------------
    OK   Help   
    ---------------------------
    如何解决,谢谢,
      

  4.   

    我的 描述输入.xls 属性里不是只读,如何解决,谢谢,
      

  5.   

    不好意思,代码搞错了,上面的代码对于相同的文件是不能同时操作的。这样就行了,呵呵   ...
       excelapp.DisplayAlerts:=False;//不提示!!!强行覆盖
       ExcelApp.ActiveWorkBook.Saved:=false;
       excelapp.ActiveWorkBook.Close ;
       excelapp.Quit;
      

  6.   

    为什么我在excel里还是看不到数据内容,
    我打开还是不行,奇怪了,
    等下给你分,谢谢,
      if fileexists('c:\描述输入.xls') then
      begin
       mssr_form.ComboBox2.Items.Clear;
       excelapp := CreateOleObject( 'Excel.Application' );
       excelapp.WorkBooks.Open('c:\描述输入.xls');
       excelapp.WorkSheets[1].Activate;
       a:=excelapp.ActiveSheet.UsedRange.Rows.Count;
       mssr_form.StringGrid1.RowCount:=a+1;  for k:=1 to a do
      begin
      mssr_form.ComboBox2.Items.Insert(k-1,copy(excelapp.ActiveSheet.Cells[k,2],1,11)
                                    +' '+copy(excelapp.ActiveSheet.Cells[k,1],1,20));
      mssr_form.StringGrid1.Cells[0,k]:=inttostr(k);
      mssr_form.StringGrid1.Cells[1,k]:=copy(mssr_form.combobox2.items.Strings[k-1],1,11);
      mssr_form.StringGrid1.Cells[2,k]:=copy(mssr_form.combobox2.items.Strings[k-1],13,20);
      end;
      end;
      

  7.   

    因为你的Excel的覆盖文件默认提示为NO,所以没有存盘的结果。  excelapp.DisplayAlerts:=False;//不提示!!!强行覆盖
       ExcelApp.ActiveWorkBook.Saved:=false;
       excelapp.activeworkbook.save;//不管如何都存盘!!!
       excelapp.ActiveWorkBook.Close ;
       excelapp.Quit;