我通过.net中将Excel文件另存为dbf文件WorkBook.SaveAs(
   "c:\\lswj\\aa.dbf",
   XlFileFormat.xlDBF3,
……);当c:\lsjw\aa.dbf存在时,Excel总要打开一个对话框询问是否覆盖,我想让Excel碰到这种情况时直接覆盖原文件,该怎么写?

解决方案 »

  1.   

    如果是自身删除不了的if WorkBook.FullName="c:\\lswj\\aa.dbf" then'是自身则直接保存
      WorkBook.Save
    else
      if dir("c:\\lswj\\aa.dbf") then kill "c:\\lswj\\aa.dbf"
      WorkBook.SaveAs( 
      "c:\\lswj\\aa.dbf", 
      XlFileFormat.xlDBF3, 
    ……); 
    end if
      

  2.   

    这样应该没问题,不知道用没用,只要
    Excel的对象实例中设置某个属性,或在方法中传递某个参数这样更直接简单的访求呢?
      

  3.   

    大概就是这样了if WorkBook.FullName="c:\\lswj\\aa.dbf" then'是自身则直接保存
      WorkBook.Save
    else
      if dir("c:\\lswj\\aa.dbf") then kill "c:\\lswj\\aa.dbf"
      WorkBook.SaveAs(
      "c:\\lswj\\aa.dbf",
      XlFileFormat.xlDBF3,
    ……);
    end if 当然,前提是你的aa.dbf不是打开状态。要不然也kill不了
      

  4.   

    '你要的是 .DisplayAlerts = False这个属性'vba代码是这样,自己改成你要的吧
    Application.DisplayAlerts = False '覆盖时不提示保存
    ActiveWorkbook.SaveAs ("c:\1.xls")
    Application.DisplayAlerts = True  '覆盖时提示保存
      

  5.   

    Application.DisplayAlerts = False '覆盖时不提示保存