標題:
[發問]
讓程序畫面停留0.1秒?
[打印本頁]
作者:
yangjie
時間:
2014-4-9 11:43
標題:
讓程序畫面停留0.1秒?
請教大大
在VBA下
For repeat1 = 1 To 4
n1 = CLng(TextBox75) + 1
For j = 74 To 23 Step -1
Controls("TextBox" & j) = Controls("TextBox" & j - 13)
Controls("TextBox" & j).BackColor = Controls("TextBox" & j - 13).BackColor
Next
Controls("TextBox" & 75) = n1
讓畫面停留0.1秒
Next
應如何寫法? 謝謝
作者:
yen956
時間:
2014-4-9 13:27
回復
1#
yangjie
'試試看, 停留時間依CPU而異
Sub test()
'讓畫面停留0.1秒
[A1].Select
For i = 1 To 50000000
Next
[IV1].Select
For i = 1 To 50000000
Next
[A1].Select
End Sub
作者:
yangjie
時間:
2014-4-9 17:14
回復
2#
yen956
謝謝
有無辦法 使用
類似Application.OnTime Now+value("00.00.01"),-----
將使空轉0.1秒 再繼續------的方式作處理
請賜教
作者:
Hsieh
時間:
2014-4-9 17:39
回復
3#
yangjie
調用API的sleep函數
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 100 ’停止0.1秒
作者:
GBKEE
時間:
2014-4-9 17:49
本帖最後由 GBKEE 於 2014-4-11 05:43 編輯
回復
1#
yangjie
Option Explicit
Private Sub UserForm_Click()
Dim J
For J = 1 To 4 '4個 TextBox 控制項
With Controls("TextBox" & J)
.BackColor = IIf(.BackColor = vbRed, vbYellow, vbRed)
.Text = Val(.Text) + J
End With
Application.Wait Time + #12:00:01 AM# ' 讓畫面停留 1秒
Next
End Sub
複製代碼
作者:
yen956
時間:
2014-4-9 17:53
回復
4#
Hsieh
真博學, 收下啦, 謝謝!!
作者:
yangjie
時間:
2014-4-10 00:15
回復
5#
GBKEE
謝了 學到兩招 感激
作者:
yangjie
時間:
2014-4-10 22:48
回復
4#
Hsieh
請教 Hsieh版大
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
此行應放在哪裡??
作者:
yangjie
時間:
2014-4-10 22:53
回復
5#
GBKEE
請教GBKEE版大
Application.Wait Time + #12:00:01 AM# '
12:00:01 應是讓畫面停留1秒 ,那0.1秒應如何表示?
Application.Wait Time + (#12:00:01 AM#)/10 是行不通 應如何修正??
作者:
GBKEE
時間:
2014-4-11 05:42
回復
9#
yangjie
API
函數 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
需置於一般模阻的頂端
Application.Wait 的時間最小是秒數, 0.1不接受的.
作者:
Hsieh
時間:
2014-4-11 17:05
本帖最後由 Hsieh 於 2014-4-11 17:08 編輯
回復
8#
yangjie
這應該是表單模組的程式
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
For repeat1 = 1 To 4
n1 = CLng(TextBox75) + 1
For j = 74 To 23 Step -1
Controls("TextBox" & j) = Controls("TextBox" & j - 13)
Controls("TextBox" & j).BackColor = Controls("TextBox" & j - 13).BackColor
Next
TextBox75 = n1
DoEvents
Sleep 100
Next
End Sub
複製代碼
如果要讓其他模組也能共用此函數
就在一般模組內設成共用函數
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
作者:
yangjie
時間:
2014-4-12 18:25
回復
10#
GBKEE
受教了 謝謝
作者:
yangjie
時間:
2014-4-12 23:13
回復
11#
Hsieh
DoEvents
Sleep 100
太神奇了 謝謝 Hsieh版大
再請教
1.DoEvents 是何作用?
2.現為office2003效果很好用,不知在office2010之下
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
可以產生作用嗎?
作者:
Hsieh
時間:
2014-4-13 12:59
本帖最後由 Hsieh 於 2014-4-13 13:09 編輯
回復
13#
yangjie
DoEvents將控制權交還應用程式
調用API函數與Windows位元版本有關,而非關OFFICE的新舊
若你的是OFFICE 2010 for 64位元版本請參考
http://forum.twbts.com/thread-10506-1-1.html
作者:
yangjie
時間:
2014-4-13 16:55
回復
14#
Hsieh
謝謝指導
受用了
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)