Skip to content

IsAppActivate

Summary

指定したウィンドウがアクティブな状態かどうかを確認するための関数です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Function IsAppActivate(Title As String, Optional WaitTime As Single = 3) As Boolean
'指定のウィンドウがアクティブか確認する

Dim StartTime As Single
Dim ElapesedTime As Single

On Error Resume Next

    '開始時間セット
    StartTime = Timer

    '一定時間の間、一定間隔ごとに処理を試みる
    Do While ElapesedTime < WaitTime     '経過時間 <= 間隔(秒)

        '対象画面が起動しているか確認する
        AppActivate (Title)

        If Err = 0 Then
            IsAppActivate = True
            Exit Function
        Else
'            Debug.Print Err
        End If
        Err.Clear
        WaitTimeFor (0.1)                           '処理間隔
        ElapesedTime = Timer - StartTime     '経過時間算出
        DoEvents
    Loop

    '画面が見つからないときはFlaseで返す
    On Error GoTo 0
        IsAppActivate = False
End Function

説明

この関数は、指定したタイトルのウィンドウがアクティブな状態かどうかを確認するための処理を行います。

具体的な動作は以下の通りです:

On Error Resume Next ステートメントにより、エラーが発生しても処理を続行します。 StartTime 変数に現在のタイマー値を代入し、処理開始時間を記録します。

指定の待ち時間まで、一定の間隔で処理を繰り返します。 AppActivate (Title) により、指定したタイトルのウィンドウをアクティブにします。

Err の値が0であれば、ウィンドウがアクティブな状態であることを示し、関数から True を返します。 Err の値が0でない場合は、ウィンドウが見つからなかったことを示し、エラーをクリアして次の処理を行います。 WaitTimeFor (0.1) により、処理の間隔を0.1秒に設定します。 ElapesedTime 変数に経過時間を算出し、待ち時間と比較します。

一定時間経過するか、ウィンドウが見つからない場合は、関数から False を返します。

引数

  • 引数 Title : String型
    確認したいウィンドウのタイトルを指定します。

  • 引数 WaitTime : Single型 (オプション)
    ウィンドウがアクティブになるまで待つ最大時間(秒)を指定します。デフォルト値は3秒です。

戻り値

  • 戻り値の型: Boolean
    - ィンドウがアクティブな状態であれば True を返します。
    - ウィンドウが見つからなかったり、指定の待ち時間を超えた場合は False を返します。

Examples

この関数を使用することで、指定したウィンドウがアクティブな状態かどうかを確認することができます。

1
Call IsAppActivate("メモ帳")