我在Access 2003和VBA中做了一件事。我做了很多次迭代,有時候會發生一些事情,我想暫停並通知用戶,但不是使用MsgBox,而是使用文本字段。避免在Access 2003中忙於等待
因此,我打印了一條消息,並使用循環檢查全局「hold」布爾值。通過DoEvents,Windows檢查KeyDown,如果存在,則將hold設置爲False,並繼續迭代。
但是,我懷疑有更好的辦法,因爲這不是一個「忙等待」的例子嗎?雖然它不是「繁忙」,只是一個布爾檢查,但它足夠忙碌,我的電腦可以開始發出聲音,並且整體印象不夠強烈。
有沒有辦法等待(什麼也不做),然後繼續按鍵中斷?
這是可能的,但我不想彈出消息框,因爲它具有破壞性。想象一下,例如,如果你想打C(如「繼續迭代」)10或15次。我確信有更好的方法。 – 2012-01-18 05:03:40
@EmanuelBerg你的解決方案似乎很好,我明白你的意思是通過不斷的布爾檢查使機器在某種意義上處於忙碌狀態,不幸的是,這可能是等待和檢查關鍵事件的最佳方式 – 2012-01-18 08:49:58
如果您顯示一些信息給用戶,並想等待「按鍵中斷」,爲什麼按Enter鍵關閉MsgBox不可接受? – mischab1 2012-01-20 20:35:22