|
途中までコードを書いてましたが、残念ながら保存する前に落ちてしまいました。
で、マウスの位置を取得するには Win32API を使います。
Type POINTAPI
x As Long
y As Long
End Type
'現在のマウスカーソルの位置座標を取得する
Declare Function GetCursorPos Lib "user32"(lpPoint As POINTAPI) As Long
Dim MoP As POINTAPI '現在のマウスポインタの位置座標
Sub CursorP()
GetCursorPos MoP
'その位置を表示
MsgBox "マウス座標 X=" & MoP.x & " Y=" & MoP.y
End Sub
取得できるのはピクセル値ですから、図形などで使えるようにポイント値に
換算する必要があります。これは簡単で 0.75 をかけるだけです。
手順としては、マクロ実行後まずオートシェイプを挿入し、メッセージを出して
マウスを任意の位置へ持っていって ENTER を押すように促す。そうすることで
マウスから手を離しても次のコードが実行できるわけだから、APIで取得・換算
した位置へ図形を移動すれば良い。というわけです。
以上をヒントにして、自分でコーディングしてみて下さい。
|
|