|
▼てろてろ さん:
▼Blue さん:
おはようございます。
>># 流石に9〜17時の間、30秒周期だと(8*60*2=960回もマクロが走るわけで)重くなりそうですけど。
>
>いえ、違うのです。周期的にループさせずに行っても、10秒間、CPU100%になるのです。
>
> T0 = Timer '30秒待つ
> Do
> DoEvents
> Loop Until T0 + 30 < Timer
>
>この処理自体、そういった特性を持っているのでしょうか?
>一定周期でループさせる良い方法は他にないでしょうか?
これは、APIのSleepを使ってみて下さい。
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
CommandButton1.Enabled = False
T0 = Timer '30秒待つ
Do
Sleep 100
DoEvents
Loop Until T0 + 30 < Timer
CommandButton1.Enabled = True
End Sub
こればっかりは、Application.waitでは駄目なんですよねえ!!
試してみて下さい。
|
|