vb操作excel读写后释放了,但是还有进程存在,程序第一次能正常运行,不关程序再第二次运行就错误
vb操作excel读写后释放了,但是还有进程存在,程序第一次能正常运行,不关程序再第二次运行就错误。如果关掉程序,再打开就还是第一次正常。关掉程序的同时,后台进程exce...
vb操作excel读写后释放了,但是还有进程存在,程序第一次能正常运行,不关程序再第二次运行就错误。如果关掉程序,再打开就还是第一次正常。关掉程序的同时,后台进程excel会自动消失,这是什么原因? 求高手帮助。
展开
展开全部
通过在Cells(2, 3)后面使用“.”提示符,没有发现有属性可以只取得单元格的值。但Excel.Worksheet有另外一个成员Range,它有一个value属性,猜测应该是取值用的,因此将代码修改如下:
Set xlApp = New Excel.Application '连接EXCEL程序,或是用Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open(excelFile) '打开EXCEL文件
Set xlSheet = xlBook.Sheets(1) '打开第一页(sheet)
strCardNo = Trim(xlSheet.Range("C2").value) '区域C2的值
'进行其他的处理
'......
'处理完成
Set xlSheet = Nothing '释放sheet对象
xlBook.Close '关闭文件
Set xlBook = Nothing
xlApp.Quit '关闭Excel
Set xlApp = Nothing
其中,打开及处理、关闭的代码没有作任何更改,只是将
strCardNo = Trim(xlSheet.Cells(2, 3))
改为了
strCardNo = Trim(xlSheet.Range("C2").value)
代码执行完成以后,excel被正常关闭,excel文件也可以通过双击正常打开。
四、总结
问题出现后,也从网上查过解决方法,遇到这种问题的程序员很多。excel的打开及关闭部分,各人使用的方法都不太一样,但好像问题并不是出在这里,从个人的经历来看,实际大部分可能应该是在对excel的操纵部分出现的问
Set xlApp = New Excel.Application '连接EXCEL程序,或是用Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open(excelFile) '打开EXCEL文件
Set xlSheet = xlBook.Sheets(1) '打开第一页(sheet)
strCardNo = Trim(xlSheet.Range("C2").value) '区域C2的值
'进行其他的处理
'......
'处理完成
Set xlSheet = Nothing '释放sheet对象
xlBook.Close '关闭文件
Set xlBook = Nothing
xlApp.Quit '关闭Excel
Set xlApp = Nothing
其中,打开及处理、关闭的代码没有作任何更改,只是将
strCardNo = Trim(xlSheet.Cells(2, 3))
改为了
strCardNo = Trim(xlSheet.Range("C2").value)
代码执行完成以后,excel被正常关闭,excel文件也可以通过双击正常打开。
四、总结
问题出现后,也从网上查过解决方法,遇到这种问题的程序员很多。excel的打开及关闭部分,各人使用的方法都不太一样,但好像问题并不是出在这里,从个人的经历来看,实际大部分可能应该是在对excel的操纵部分出现的问
展开全部
操作Excel,一般是会
xlBook 保存
xlBook 关闭
xlApp 退出
然后
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询