Excelスキルアップコレクション
           〜 Something U Want 〜


Google  

WWW を検索
Excelスキルアップコレクション内 を検索
 @     Top  >     Excel VBA スキルアップコレクション Topics  >     (29) VBAの処理を数秒間停止する

 
(29) VBAの処理を数秒間停止する

 VBAのプログラムを一時的に数秒間停止する方法を紹介します。

 Wait( )関数を紹介します。

Wait(停止時間)引数に{停止時間}を指定すると、その停止時間になるまでプログラム が一時停止します。
 
下記サンプルコードは、プログラム5秒間停止する処理です。

 1行目:  Public Sub Sample_Wait_01()
 2行目:  
 3行目:      ' 起動時間を記録する。
 4行目:      Dim stime As Date
 5行目:      stime = Now
 6行目:  
 7行目:      ' 5秒停止する。
 8行目:      Application.Wait (Now() + TimeValue("00:00:05"))
 9行目:      
10行目:      ' 終了時間を記録する。
11行目:      Dim etime As Date
12行目:      etime = Now
13行目:  
14行目:      ' 時間の差分を算出する。。
15行目:      MsgBox DateDiff("s", stime, etime)
16行目:              
17行目:  End Sub
 このサンプルコードを実行すると、以下の結果が返ります。
  この機能の活用法ですが、VBAからShell( ) 関数を用いて非同期処理を呼び出し、その非同期処理が終了するまでVBAを一時停止させた場合などに利用できます。

 また、Excelで作成したファイルを用いてプレゼンテーションを実施する場合に、数秒間隔で画像を表示させる場合や、ページをスクロールさせる場合などにも利用できます。
ページの先頭へ