乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>vb</em>调用excel后如何将excel彻底关闭-vb 关闭excel进程,exc

<em>vb</em>调用excel后如何将excel彻底关闭-vb 关闭excel进程,exc

作者:乔山办公网日期:

返回目录:excel表格制作


通过在Cells(2, 3)后面使用“.”提示符,没有发现有属性可以只取得单元格的值。但Excel.Worksheet有另外一个成员Range,它有一个value属性,猜测应该是取值用e5a48de588b6e79fa5e98193338的,因此将代码修改如下:

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的操纵部分出现的问

Shell "cmd.exe /c taskkill /f /im excel.exe", vbHide
如果你打开了多个EXCEL,即执行多次,如果不知道多少,可以判断进程是否存在再执行。

代码:
BACKENDP:
If CheckApplicationIsRun("EXCEL.exe") = True Then
Shell "cmd.exe /c taskkill /IM EXCEL.exe /F /T", vbHide
GoTo BACKENDP:
End If
你这种做法应该是给程序找麻烦,在VB访问EXCEL的时候最好是把EXCEL关掉,EXCEL应该没有多任务处理功能,只能独占.

试试
iExcel.Quit False
很可能是Excel卡在保存对话框那里了,如果Excel窗口可见,应该可以看到弹出这个对话框.

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网