EXCEL API 宣言をして、指定時間停止させる。

EXCEL/ACCESS, 備忘録(びぼうろく)

WindowsのAPIを使って、指定した時間停止させます。
1000 = 1秒
VBA7はofficeのbit数32、64両方対応させる為です。

標準モジュールの一番上に書きます。

Option Explicit
'### API 宣言
#If VBA7 Then '###(64bit)
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
#Else '###(32bit)
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
#End If

各プロシジャーに書く

'######### IEの起動を待つ
CNT01 = 0
Do While IEOPEN.Busy = True Or IEOPEN.readyState <> 4
   DoEvents
   'Application.Wait (Now + TimeValue("00:00:01"))
   Sleep (500) '###0.5秒
   CNT01 = CNT01 + 1
   If CNT01 >= 10 Then
  'ページの再読み込み(リフレッシュ)
      IEOPEN.Refresh
      CNT01 = 0
   End If
Loop

サンプル画像