用VB匯出Excel,關閉Excel時如何釋放內存 如題,Excel中含生成的圖表(Chart),在程序尚未關閉時關閉Excel文件,卻發現進程中還沒有關閉Excel,要程序退出後才釋放了內存,請問怎麼辦?還有就是程序重復輸出Excel時出錯(程序剛啟動輸出第一次Excel時正常),該如何解決,期待高手指點!!,謝謝!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Excel 一定要調用 Quit 方法 Set ExPro = New Excel.Application。'-=-=-=-=-=-=-=-ExPro.Quit 这里是关闭EXCEL,没有这句Excel还是打开的状态。 一、 VB读写EXCEL表: VB本身提自动化功能可以读写EXCEL表,其方法如下: 1、在工程中引用Microsoft Excel类型库: 从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。 2、在通用对象的声明过程中定义EXCEL对象:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkBookDim 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脱节。 http://www.yesky.com/20030217/1652372.shtml看这个有没有帮助。我也是看这个的不过如果不想用宏,就不要让excel可见,还有就是像StoneCatherine(虚掩的门)说的,加上那几句,由程序控制EXCEL。一般程序不能正常结束,没正常关闭EXCEL,也会把EXCEL留在内存中 控件制作 请各位前辈,帮一下忙,一个很简单的问题 [EXCEL VBA]我是否忘记释放什么了? msHflexgrid如何设置第一栏的标题? ADO属性 有文件C的数据结构!怎么用编程工具去生成这样的文件啊?高手指点 关于 listview 如何编译为P代码? 谁能告诉我不让系统一直在读硬盘? 修改后的数据读入问题!请老鸟们赐教!!! 为什么TEXT控件的属性中没有caption? TDBGRID如何在CLICK事件中获取当前列的值?
。'-=-=-=-=-=-=-=-
ExPro.Quit 这里是关闭EXCEL,没有这句Excel还是打开的状态。
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脱节。
看这个有没有帮助。我也是看这个的
不过如果不想用宏,就不要让excel可见,
还有就是像StoneCatherine(虚掩的门)说的,加上那几句,由程序控制EXCEL。
一般程序不能正常结束,没正常关闭EXCEL,也会把EXCEL留在内存中