如何判斷先前已使用objExcel.Quit及set objExcel=Nothing
因為程式在跑時,總是會遇到許多不一樣的問題
所以想請問如何判斷excel是否已結束
2006-12-11 06:42:14 · 4 個解答 · 發問者 Patty 2 in 電腦與網際網路 ➔ 程式設計
If objExcel Is Nothing And objExcel.Visible = False Then
' 加入你要的處理程序
...............
end if
VB 提供 Is Nothing 讓你去判斷物件是否佔用
你可以用這一個方式去判斷 set objExcel=Nothing
objExcel.Quit 要補捉比較難,除非你用 API 及 Hook 去控制
所以用 objExcel.Visible 來簡單判斷 EXCEL 是否關閉了
如果你的程式就是配合 EXCEL 運作的
可以利用以下的程式碼試試
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
xls_hwnd = FindWindow("XLMAIN", objExcel.Caption)
SetParent Me.hwnd, xls_hwnd
因為 EXCEL 是可以同時啟動多個視窗獨立運作的程式
所以加入 objExcel.Caption 更精確的抓取 EXCEL 視窗
而關鍵的是利用 SetParent 把你的程式變成 EXCEL 的子視窗
一旦 EXCEL 關閉了,你的程式也會被關閉,你的問題就解決了
2006-12-12 06:55:36 · answer #1 · answered by ? 6 · 0⤊ 0⤋
我本來從沒遇到過修NAS修硬碟和隨身碟要資料救援,一開始也跟大家一樣總是問價格到處比價,因為不懂,凡事都從價格,考量,輕言聽信朋友介紹比較便宜一家,找錯家之後痛苦尾隨而來,以下省略500字........,後來自己上網找資料救援找到硬碟醫院,和他們經理溝通之後給我正確觀念,這是妳寶貴的資料,妳要考慮是救不救的回問題,而不是貴不貴問題,如果重要請找對人搶救NAS資料硬碟救援才能恢復你的NAS中多顆的硬碟資料
http://www.datamaster.com.tw/
2015-05-06 14:20:18 · answer #2 · answered by 淑芬 1 · 0⤊ 0⤋
【亞洲36588合法彩券公司直營 官網: A36588.NET 】
【 最新活動→迎接新會員,首存狂送20% 】
【運動→電子→對戰→現場→彩球 】
【免費服務 →電影區、討論區、KTV歡唱、運動轉播、即時比分、24H客服 】
【亞洲36588合法彩券公司直營 官網: A36588.NET 】
2014-08-28 23:03:48 · answer #3 · answered by Anonymous · 0⤊ 0⤋
'可利用FindWindow去找Excel的Handle來判斷Excel是否在執行中
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
Private Sub Command1_Click()
MsgBox FindExcel
End Sub
Function FindExcel() As Boolean
FindExcel = CBool(FindWindow("XLMAIN", 0))
End Function
2006-12-11 08:20:17 · answer #4 · answered by W.J.S. 7 · 0⤊ 0⤋