返回列表 上一主題 發帖

關於vba在跑時按下esc的問題

回復 1# 幼稚園飛天豬
程式中使用 Application.EnableCancelKey=xlDisabled
說明檔中的說明:
控制 Microsoft Excel 對使用者使用 CTRL+BREAK (或 ESC、COMMAND+PERIOD) 鍵中斷程式執行的處理模式。讀/寫 XlEnableCancelKey 資料類型。
XlEnableCancelKey 可以是這些 XlEnableCancelKey 常數之一。
xlDisabled。對 [取消] 鍵的偵測功能完全無效。
xlErrorHandler。將中斷作為錯誤信號傳遞給執行程式,由 On Error GoTo 陳述式設定的錯誤處理程式偵測。可偵測錯誤代碼為 18。
xlInterrupt。中斷目前執行程式,使用者可以進行偵錯或取消程式的執行。

程式結束前記得使用
Application.EnableCancelKey=xlInterrupt  恢復使用者可以進行偵錯或取消程式的執行

TOP

本帖最後由 GBKEE 於 2010-8-5 14:03 編輯

回復 3# 幼稚園飛天豬
說明檔上的範例
  1. Dim X&
  2. On Error GoTo handleCancel
  3. Application.EnableCancelKey = xlErrorHandler
  4. MsgBox "This may take a long time: press ESC to cancel"
  5. For X = 1 To 1000000    ' Do something 1,000,000 times (long!)
  6.     Debug.Print X '' do something here
  7.    
  8. Next X
  9. handleCancel:
  10. If Err = 18 Then
  11.     MsgBox "You cancelled"
  12. End If
複製代碼

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題