您的位置:程序门 -> vb -> 数据库(包含打印,安装,报表)



excel资源获取释放


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


excel资源获取释放
发表于:2007-12-01 17:09:48 楼主
想将表格的标题、说明等写入正在运行的excel表中,第一次调用vb程序能正确使用,但第二次、第三次就不行了,提示“执行错误:对象变量with块变量未设置”,感觉好象是excel资源未释放完全。但如果是将整个vb应用程序退出,重新进来它又正确了,但不退出要想多次写入另外的表中时就出现上述问题。vb程序如下:不知哪位大侠能够解决这问题
程序如下:
dim   xlapp   as   application
        dim   xlbook   as   excel.workbook
        dim   xlsheet   as   excel.worksheet
        on   error   goto   errorhandle:
        set   xlapp   =   getobject(,   "excel.application")                 '获取当前运行的excel
        set   xlsheet   =   xlapp.application.activeworkbook.activesheet         '获取当前正在运行的活动工作表
        'set   xlsheet   =   xlapp.application.activesheet
        rows("1:1").select
        selection.insert   shift:=xldown
        range("a1:m1").select        
        selection.merge
        range("a1:m1").select
        activecell.formular1c1   =   “xxxxx工资汇总表” ‘要写入的标题
‘还有要写入的内容省略
finally_exit:
        xlapp.quit
        set   xlsheet   =   nothing
        set   xlbook   =   nothing
        set   xlapp   =   nothing
        exit   sub
errorhandle:
        msgbox   "执行错误:   "   &   err.description
        resume   finally_exit
发表于:2007-12-01 18:26:591楼 得分:0
vbscript code
dim xlapp as application dim xlbook as excel.workbook dim xlsheet as excel.worksheet on error goto errorhandle: set xlapp = getobject"", "excel.application") '获取当前运行的excel,如果没有则新建一个 xlapp.visible = true set xlbook = xlapp.workbooks.add set xlsheet = xlbook.activesheet '获取当前正在运行的活动工作表 'set xlsheet = xlapp.application.activesheet rows("1:1").select selection.insert shift:=xldown range("a1:m1").select selection.merge range("a1:m1").select activecell.formular1c1 = "xxxxx工资汇总表" '要写入的标题 '还有要写入的内容省略 finally_exit: xlapp.quit set xlsheet = nothing set xlbook = nothing set xlapp = nothing exit sub errorhandle: msgbox "执行错误: " & err.description resume finally_exit
发表于:2007-12-05 16:31:242楼 得分:0
请参见顶级高手写的excel操作类              
http://blog.csdn.net/modest/myarticles.aspx


快速检索

最新资讯
热门点击