サイトについて      連絡先   検索

VBA DoEvents 関数

はじめに

Excel VBA の DoEvents 関数を紹介します。

DoEvents 関数は、プログラムが占領している制御をオペレーティングシステムに返します。

時間のかかる処理で応答しないプログラムを応答させるときに使用します。

構文

DoEvents

名前 説明
戻り値使用しません。

解説

時間のかかる処理中にクリックやキーを入力すると、処理が終わるまで反映されません。
DoEvents 関数を処理中に呼び出すと、その時点で発生している入力を先に処理します。その後、処理を続行します。

使い方としては、キャンセルボタンや中断ボタンが押されたか確認するときに使用します。

ただし、DoEvents 関数を呼び出すことで処理の流れが通常と異なるため、予期せぬ動作が起こることがあります。DoEvents 関数の多様は禁物です。

使用例

' 時間のかかる処理
Dim i As Integer
For i = 0 To 10000
    ' 何らかの処理
     
    ' 100 回に 1 回入力を受け付ける。
    If i Mod 100 = 0 Then
        DoEvents
        ' キャンセルボタンがクリックされたか判定するなど
    End If
Next

関連ページ