On Errorの活用法 エラートラップ罠

トラップとは罠のこと。
「トラップ を 仕掛ける」とは、「罠を仕掛ける」。
On Errorでエラーになった時の処理を 仕掛ける。ということ。
「AppActivate “無題 – メモ帳”」は、新規にメモ帳が開いているかどうかでエラーになる。AppActivateが関数ならエラートラップは使わない。
r=AppActivate(“無題 – メモ帳”)で、大抵は戻り値rの値をチェックして繰り返せばいい。Do LoopでUntil r=Trueでいい。
あいにく、AppActivateステートメントは、関数じゃない。だからエラートラップを使う。以下は、新規メモ帳(タイトルが無題 – メモ帳)が起動しないと無限ループ。

Option Explicit

Sub ボタン1_Click()
    On Error GoTo myErr 'トラップを掛ける
    AppActivate "無題 - メモ帳" '-は半角、前後に半角空白
    SendKeys "%{F4}", True 'これはエラーになることない
    Exit Sub
myErr:
    Resume 'エラー処理をもう一度
End Sub

もし、複数の新規メモ帳があったら1つだけ閉じる。全部閉じるならDoLoopでAppActivateからSendKeysまでを囲み、Resumeを削除する。つまり新規のメモ帳が見つからないとエラーになってmyErrに飛んで終わる。

関数じゃないためとか、対象の引数や要素番号があるかチェックする機能が無い場合はOn Error。使えます。

(Visited 31 times, 1 visits today)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です