DoCmd HuorGlass 基本構文と引数の解説

DoCmd.Hourglass は、Access VBA において マウスカーソルを砂時計(待機中の表示)に変更するためのメソッドです。ユーザーに「今処理中です」という視覚的なサインを出したいときに使います。


目次

🔹 基本構文

DoCmd.Hourglass HourglassOn

🔸 引数の解説

引数名説明
HourglassOnBooleanTrue = 砂時計を表示する(処理中)False = 通常のマウスカーソルに戻す

✅ 使用例:長い処理の前後でカーソル表示を切り替える

Sub LongProcess()
    DoCmd.Hourglass True  ' 砂時計表示(処理中)

    ' 時間のかかる処理
    DoCmd.OpenQuery "qryMassiveUpdate"
    
    DoCmd.Hourglass False ' 通常カーソルに戻す
    MsgBox "完了しました。"
End Sub

✅ 注意点

  • DoCmd.Hourglass True でカーソルは砂時計になりますが、自動では戻りません。必ず処理後に False に戻すようにしましょう。
  • エラーなどで処理が中断されてもカーソルを戻すよう、On Error での例外処理を使うのがおすすめです。

✅ 応用:安全なテンプレート

Sub SafeHourglass()
    On Error GoTo ErrHandler
    DoCmd.Hourglass True

    ' ここに重い処理を記述
    DoCmd.RunSQL "UPDATE..."

Cleanup:
    DoCmd.Hourglass False
    Exit Sub

ErrHandler:
    MsgBox "エラー: " & Err.Description
    Resume Cleanup
End Sub

よかったらシェアしてね!
目次