看板 Visual_Basic 關於我們 聯絡資訊
各位高手,安安 最近本魯寫了一個簡單的 VBA 程式, 因為要判斷的東西比較多, 所以迴圈大約有4層, 為了確定迴圈目前進度, 我在最外層的迴圈中加了 Debug.Print, 來顯示迴圈中的資訊, 可是我發現只能顯示前幾次的 Debug.Print, 接下來 excel 就像當機一樣,但是實際上沒有當機, 等30~60min迴圈跑完就正常了, 即時視窗的東西也都會顯示出來。 所以我的問題是, 如何 強制即時視窗顯示內容, 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.68.97 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1604970870.A.ECD.html
MOONRAKER: 難 你拉個textbox然後一直附加字串可能還比較有效 11/10 10:52
MOONRAKER: 起碼那還可以用doevents逼他更新 11/10 10:53
ClubT: 寫到記事本,雖然要一直開記事本來看比較麻煩就是了 11/11 14:40
newacc: 如果加個sleep或wait不知道有沒有幫助? 11/12 01:46
fumizuki: DoEvents 治百病...把執行權暫時還給Excel 11/12 22:56
fumizuki: Excel才有機會更新畫面 11/12 22:56
fumizuki: 不然就是一直忙著你迴圈中的所有工作 11/12 22:57
fumizuki: 沒時間顯示視窗的新內容 11/12 22:57
fumizuki: 但要注意 DoEvents 的次數越多,迴圈執行時間就越長 11/12 22:58
fumizuki: 可以另外用一個變數去接 Timer() 函數傳回值 11/12 22:59
fumizuki: 判斷目前Timer值與上次值的差異 11/12 22:59
fumizuki: 決定多久執行一次 DoEvents 11/12 23:00