VBAでマウスポインター(マウスカーソル)を変更する方法を紹介します。
マウスポインターはExcel上での形状とコントロール上にマウスを乗せたときの形状を変更する2つの方法があり、それぞれ指定できる種類が違います。
目次
Excel上のマウスポインター
Excel上のマウスポインターは以下の4つの形状に変更することができます。
この指定はExcelウインドウ内で有効です。
ポインター | 定数 | 値 |
---|---|---|
標準(既定値) | xlDefault | -4143 |
矢印 | xlNorthwestArrow | 1 |
砂時計 | xlWait | 2 |
I型 | xlIBeam | 3 |
カーソルを変更する場合は以下のコードを追加してください。
処理の最後に標準ポインターに戻すことを忘れずに。
Application.Cursor = xlDefault
Application.Cursor = xlNorthwestArrow
Application.Cursor = xlWait
Application.Cursor = xlIBeam
コントロール上のマウスポインター
コントロール上のマウスポインターは14種類の形状+カスタムを行うことができます。
ポインター | 定数 | 値 |
---|---|---|
標準(既定値) | fmMousePointerDefault | 0 |
矢印 | fmMousePointerArrow | 1 |
十字 | fmMousePointerCross | 2 |
I型 | fmMousePointerIBeam | 3 |
両端矢印(右上と左下) | fmMousePointerSizeNESW | 6 |
両端矢印(上と下) | fmMousePointerSizeNS | 7 |
両端矢印(左上と右下) | fmMousePointerSizeNWSE | 8 |
両端矢印(左と右) | fmMousePointerSizeWE | 9 |
上向き矢印 | fmMousePointerUpArrow | 10 |
砂時計 | fmMousePointerHourglass | 11 |
不可シンボル | fmMousePointerNoDrop | 12 |
矢印と砂時計 | fmMousePointerAppStarting | 13 |
矢印と疑問符 | fmMousePointerHelp | 14 |
サイズ変更カーソル | fmMousePointerSizeAll | 15 |
カスタム | fmMousePointerCustom | 99 |
例えばラベル(Label1)の上にマウスを移動したときに形状を変更する場合は以下のようなコードを追加します。
Label1.MousePointer = fmMousePointerArrow
マウスポインターに他のアイコンを使う場合は以下のように指定すればOKです。サンプルとしてWindowsの指差しポインタのアイコンを指定していますがExcelではどうやら黒色で表示してしまうみたいなので、指差しポインターにしたい方は自作で作るかインターネットで探すのがよいでしょう。
Label1.MousePointer = fmMousePointerCustom
Label1.MouseIcon = LoadPicture("C:\Windows\Cursors\aero_link_l.cur")
コメントを残す