アプリ版:「スタンプのみでお礼する」機能のリリースについて

ExcelVBAに関する質問です。

ExcelVBAに関する質問です。ExcelVBAではデフォルトのマウスカーソルの大きさを変更(例えば2倍に大きくするなど)すること可能なのでしょうか?

マウスカーソルが特定のボタンに触れたとき、マウスカーソルが大きくなるようなプログラムを、VBAで作成したいと考えております。
VBAに関して知識のある方、是非お力を貸していただきたいです!

・自分で考えたこと
マウスカーソルの大きさを変更する手段は2つあると考えました。

1,マウスカーソルをデフォルトのn倍にすること
2,マウスカーソルをデフォルトから、n倍の大きさのマウスカーソルの画像に置き換えること

前者については、調べた中では難しそうだと感じました。
後者に関しては、javaやVBなどの言語でマウスカーソルを特定の画像に置き換えることが可能であることがわかりました。

ただ、VBAである特定の条件になった時に、マウスカーソルをデフォルトから特定の画像に変更するプログラムのサンプルは見つかりませんでした。
(VB.Netだとhttp://d.hatena.ne.jp/RIREX/20120507/1336397369にあるような例が見つかりました)

・回答していただきたいこと(1が難しいと感じた場合でも、他の1つでも回答していただけると嬉しいです)
1.特定のボタン上にきた時に(注意:左右クリックはしない)、マウスカーソルが大きくなるようなプログラムの具体的なサンプルを教えていただきたいです!
やってほしい度合い:★★★★★

2.VBAにおいてマウスカーソルをデフォルトからn倍にする方法はあるのか?マウスカーソルの座標とは切り離して、実行すればマウスカーソルの大きさが変更されるプログラムの具体的なサンプルを教えていただきたいです!
やってほしい度合い:★★

また、仮にVBAで特定の画像を読み込み、デフォルトカーソルをその画像と変更できる場合の画像は、例えばどのような形式のファイルで、どの様にパスを設定すれば良いかも簡単に教えていただけると嬉しいです!

・注意
 「マウスカーソルをデフォルトから、他の形に変更したい」のではなく、「マウスカーソルの大きさをExcelVBAのプログラム上で変更したい」です!

A 回答 (3件)

カーソルのファイルからの読み込みを試しにやってみただけですので、深い研究はご自分でどうぞ。


MouseMoveイベントがあるオブジェクトにしか有効ではありません。
また、全てのコントロールに設定してやらないと、その上では標準カーソルに戻ってしまいます。
カーソルのサイズについては分かりません。大きなカーソルのファイルがあればできるのかどうか...

Private Declare Function LoadCursorFromFile Lib "user32.dll" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetCursor Lib "user32" _
(ByVal hCursor As Long) As Long

Dim hCursor As Long
Dim hCursor2 As Long
Dim holdCursor As Long '元に戻す訳ではないので、モジュールレベルにしておく意味もないかも

Private Sub UserForm_Initialize()
'Vectorでダウンロードしてきたアイコンです
hCursor = LoadCursorFromFile("C:\Users\?????\Desktop\nikukyu\kuronikukyu\arrow.Cur")
hCursor2 = LoadCursorFromFile("C:\Users\?????\Desktop\nikukyu\nikukyu\上下.Ani")
End Sub

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
holdCursor = SetCursor(hCursor2)
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
holdCursor = SetCursor(hCursor)
End Sub
    • good
    • 0
この回答へのお礼

出来ました!
皆さんありがとうございました!!

お礼日時:2013/12/11 18:38

#1です。


'Vectorでダウンロードしてきたアイコンです→Vectorさんでダウンロードしてきたカーソルです。
が正しいです。
照れ隠しに検索してみると、カーソルが作れるフリーソフトが沢山ありそうですが、
下記の記事をみると、32x32ドットの範囲内で、好きなサイズのカーソルが出来そうな雰囲気です。画像が無いところは透明扱いで、設定したホットスポットがポイントする点になるという事の様ですね。ご参考まで。
http://www.hm.h555.net/~irom/ssb_help/ssb_help_p …
    • good
    • 0
この回答へのお礼

ありがとうございます!
Vectorからダウンロードして、簡単にカーソルを作れました!

お礼日時:2013/12/11 17:26

深入りする気はありませんので、これっきりな『怪答』です。


Excel2010では、VBEのヘルプで、「MouseIcon」を検索すると・・・
コマンドボタンをActiveXの方を選択しプロパティを見ると・・・
二倍なら大きいICOファイルを作っておけば・・・
夏に見る「逃げ水」なのか到達点があるのかは不明です。
    • good
    • 0
この回答へのお礼

お時間を割いて回答して下さり、ありがとうございます!

お礼日時:2013/12/11 17:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!