刚才的帖有问题
我是新建文件时  如果存在就打开  不存在  就新  建  代码如下:  
procedure  TForm1.Button3Click(Sender:  TObject);  
var  
   ExcelID:  Variant;  
   i:Integer;  
begin  
if  SaveDialog1.Execute  then  
begin  
   ExcelID:=CreateOleObject('Excel.Application');  
   try  
   if  FileExists(savedialog1.FileName  )    then  
   begin  
     ExcelID.workbooks.open(savedialog1.FileName);  
   end  
   else  
   begin  
       ExcelID.SheetsInNewWorkbook  :=10;  
       ExcelID.workbooks.Add;  
   end;  
     ExcelID.visible:=False;  
     for  i:=1  to  ExcelID.WorkSheets.count  do  
     begin  
           ExcelID.WorkSheets[i].Name:='A'+inttostr(i);  
     end;  
     if  FileExists(savedialog1.FileName  )    then  
     ExcelID.save  
     else  
     ExcelID.save(savedialog1.FileName);  
   finally  
       ExcelID.quit;  
   end;  
end;  
end;  
在新建时  如果文件不存在  总是出现另存为对话框  必须要保存才行  但这样就保存了两个文件了  如何新建时不打开另存对话框?  如果打开一个存在的  则出现提示"当前位置发现存在名为'resume.xlw'的文件  是否替换?  要点是才行  这是怎么回事?如何不出现提示?

解决方案 »

  1.   

    还有 如果打开了一个Excel 如何清空里面所有表的内容?
      

  2.   

    我用的是Delphi中的Excel控件,所有空间的ConnectKind属性设置为ckNewInstance,就可以产生新的Excel文件,不会在你打开其他Excel文件的时候捣乱。参照下面的代码吧,我一直这样用:
      dlgSave.Title:='选择保存路径';
      dlgSave.FileName:='行政事业单位客户帐户信息表'+FormatDateTime('(yyyy)',dtpBin.DateTime);
      if dlgSave.Execute then
        fileDir:=dlgSave.FileName
      else
        exit;  ExcelApplication1.Caption:='行政事业单位客户帐户信息表';
      ExcelApplication1.Workbooks.Add(null,0);
      ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
      ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
    //这里可以对表格进行合并、复制等操作
      ExcelWorksheet1.SaveAs(fileDir);
      Application.MessageBox('成功保存!',Pchar(Caption),MB_ICONINFORMATION);  ExcelWorkbook1.Close;
      ExcelApplication1.Disconnect;
      

  3.   

    建立新文件之前,你用FileExists检测一下,如果没有再弹出SaveDialog