【Excel VBA】マウスポインターの種類と変更方法

【Excel】VBAで指定できるマウスポインタ―一覧

VBAでマウスポインター(マウスカーソル)を変更する方法を紹介します。

マウスポインターはExcel上での形状とコントロール上にマウスを乗せたときの形状を変更する2つの方法があり、それぞれ指定できる種類が違います。

Excel上のマウスポインター

Excel上のマウスポインターは以下の4つの形状に変更することができます。
この指定はExcelウインドウ内で有効です。

ポインター定数
標準(既定値)xlDefault-4143
矢印xlNorthwestArrow1
砂時計xlWait2
I型xlIBeam3

カーソルを変更する場合は以下のコードを追加してください。
処理の最後に標準ポインターに戻すことを忘れずに。

Application.Cursor = xlDefault
Application.Cursor = xlNorthwestArrow
Application.Cursor = xlWait
Application.Cursor = xlIBeam

コントロール上のマウスポインター

コントロール上のマウスポインターは14種類の形状+カスタムを行うことができます。

ポインター定数
標準(既定値)fmMousePointerDefault0
矢印fmMousePointerArrow1
十字fmMousePointerCross2
I型fmMousePointerIBeam3
両端矢印(右上と左下)fmMousePointerSizeNESW6
両端矢印(上と下)fmMousePointerSizeNS7
両端矢印(左上と右下)fmMousePointerSizeNWSE8
両端矢印(左と右)fmMousePointerSizeWE9
上向き矢印fmMousePointerUpArrow10
砂時計fmMousePointerHourglass11
不可シンボルfmMousePointerNoDrop12
矢印と砂時計fmMousePointerAppStarting13
矢印と疑問符fmMousePointerHelp14
サイズ変更カーソルfmMousePointerSizeAll15
カスタムfmMousePointerCustom99

例えばラベル(Label1)の上にマウスを移動したときに形状を変更する場合は以下のようなコードを追加します。

    Label1.MousePointer = fmMousePointerArrow


マウスポインターに他のアイコンを使う場合は以下のように指定すればOKです。サンプルとしてWindowsの指差しポインタのアイコンを指定していますがExcelではどうやら黒色で表示してしまうみたいなので、指差しポインターにしたい方は自作で作るかインターネットで探すのがよいでしょう。

    Label1.MousePointer = fmMousePointerCustom
    Label1.MouseIcon = LoadPicture("C:\Windows\Cursors\aero_link_l.cur")

コメントを残す

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