如題,Excel中含生成的圖表(Chart),在程序尚未關閉時關閉Excel文件,卻發現進程中還沒有關閉Excel,要程序退出後才釋放了內存,請問怎麼辦?
還有就是程序重復輸出Excel時出錯(程序剛啟動輸出第一次Excel時正常),該如何解決,期待高手指點!!,謝謝!!

解决方案 »

  1.   

    Excel 一定要調用  Quit 方法
      

  2.   

    Set ExPro = New Excel.Application
    。'-=-=-=-=-=-=-=-
    ExPro.Quit 这里是关闭EXCEL,没有这句Excel还是打开的状态。
      

  3.   

    一、 VB读写EXCEL表:  VB本身提自动化功能可以读写EXCEL表,其方法如下:  1、在工程中引用Microsoft Excel类型库:  从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。  2、在通用对象的声明过程中定义EXCEL对象:Dim xlApp As Excel.Application
    Dim xlBook As Excel.WorkBook
    Dim xlSheet As Excel.Worksheet  3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
    Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件
    xlApp.Visible = True '设置EXCEL对象可见(或不可见)
    Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表
    xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值
    xlSheet.PrintOut '打印工作表
    xlBook.Close (True) '关闭工作簿.............................................
    xlApp.Quit '结束EXCEL对象....................................................
    Set xlApp = Nothing '释放xlApp对象.............................................!!!
    xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
    xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏  4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。
      

  4.   

    http://www.yesky.com/20030217/1652372.shtml
    看这个有没有帮助。我也是看这个的
    不过如果不想用宏,就不要让excel可见,
    还有就是像StoneCatherine(虚掩的门)说的,加上那几句,由程序控制EXCEL。
    一般程序不能正常结束,没正常关闭EXCEL,也会把EXCEL留在内存中