DoCmd.Hourglass
は、Access VBA において マウスカーソルを砂時計(待機中の表示)に変更するためのメソッドです。ユーザーに「今処理中です」という視覚的なサインを出したいときに使います。
目次
🔹 基本構文
DoCmd.Hourglass HourglassOn
🔸 引数の解説
引数名 | 型 | 説明 |
---|---|---|
HourglassOn | Boolean | True = 砂時計を表示する(処理中)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