中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VB之操作excel后不能關(guān)閉excel進(jìn)程的原因及解決方法

一、問(wèn)題:

使用如下代碼打開、取值及關(guān)閉excel:


Public Function ImportFromExcel(excelFile As String) As Long

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet


Dim strCardNo As String

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)          '打開第一頁(yè)(sheet)

strCardNo = Trim(xlSheet.Cells(2, 3))  '示例,取第2行的第3列,即C2單元格的值

'進(jìn)行其他的處理

'......

'處理完成

 


Set xlSheet = Nothing '釋放sheet對(duì)象

xlBook.Close '關(guān)閉文件

Set xlBook = Nothing

xlApp.Quit '關(guān)閉Excel

Set xlApp = Nothing

 

代碼執(zhí)行完成以后,會(huì)發(fā)現(xiàn)在任務(wù)管理器中,excel進(jìn)程仍然存在,而且通過(guò)這個(gè)方法打開的excel文件,無(wú)法再在windows的文件夾里通過(guò)雙擊打開了。

二、調(diào)試分析

將中間取值及處理的所有代碼屏蔽,只執(zhí)行打開及關(guān)閉部分的代碼,會(huì)發(fā)現(xiàn)代碼執(zhí)行完成以后,excel成功地關(guān)閉了,因此,問(wèn)題應(yīng)該出在對(duì)excel文件的處理中。按照面向?qū)ο蟮乃悸罚褂?strCardNo = xlSheet.Cells(2, 3) 取值時(shí),理論上應(yīng)該是得到了一個(gè)單元格的實(shí)例,而不單單是這個(gè)單元格的值,只是vb在使用strCardNo時(shí),只使用了它的值而已,因此,懷疑是因?yàn)閟trCardNo(或是其對(duì)應(yīng)的單元格實(shí)例)在使用完成后,沒(méi)有得到釋放,因此,windows沒(méi)有正常關(guān)閉excel文件并銷毀excel進(jìn)程。

三、解決

但通過(guò)在Cells(2, 3)后面使用“.”提示符,沒(méi)有發(fā)現(xiàn)有屬性可以只取得單元格的值。但Excel.Worksheet有另外一個(gè)成員Range,它有一個(gè)value屬性,猜測(cè)應(yīng)該是取值用的,因此將代碼修改如下:

 


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)          '打開第一頁(yè)(sheet)

strCardNo = Trim(xlSheet.Range("C2").value)  '區(qū)域C2的值

'進(jìn)行其他的處理

'......

'處理完成

 


Set xlSheet = Nothing '釋放sheet對(duì)象

xlBook.Close '關(guān)閉文件

Set xlBook = Nothing

xlApp.Quit '關(guān)閉Excel

Set xlApp = Nothing

 

其中,打開及處理、關(guān)閉的代碼沒(méi)有作任何更改,只是將

strCardNo = Trim(xlSheet.Cells(2, 3))

改為了

strCardNo = Trim(xlSheet.Range("C2").value)

 

代碼執(zhí)行完成以后,excel被正常關(guān)閉,excel文件也可以通過(guò)雙擊正常打開。

四、總結(jié)

問(wèn)題出現(xiàn)后,也從網(wǎng)上查過(guò)解決方法,遇到這種問(wèn)題的程序員很多。excel的打開及關(guān)閉部分,各人使用的方法都不太一樣,但好像問(wèn)題并不是出在這里,從個(gè)人的經(jīng)歷來(lái)看,實(shí)際大部分可能應(yīng)該是在對(duì)excel的操縱部分出現(xiàn)的問(wèn)題。

 

 

原址:http://blog.163.com/shuangfeng_521/blog/static/20017737201422972612657/

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
vb調(diào)用excel方法大全(vb)
利用VB設(shè)計(jì)打印復(fù)雜報(bào)表
用Excel控件制作簡(jiǎn)單報(bào)表
VB編程連接Excel開發(fā)四個(gè)對(duì)象知識(shí)講解
VB打開EXCEL的方法
Visual Basic調(diào)用Excel
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服