Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


36612 / 76738 ←次へ | 前へ→

【45305】Re:オートシェイプの貼り付け
発言  Kein  - 06/12/18(月) 18:20 -

引用なし
パスワード
   途中までコードを書いてましたが、残念ながら保存する前に落ちてしまいました。
で、マウスの位置を取得するには 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で取得・換算
した位置へ図形を移動すれば良い。というわけです。
以上をヒントにして、自分でコーディングしてみて下さい。
0 hits

【45298】オートシェイプの貼り付け すぎぽん 06/12/18(月) 15:07 質問
【45300】Re:オートシェイプの貼り付け Kein 06/12/18(月) 15:33 発言
【45302】Re:オートシェイプの貼り付け すぎぽん 06/12/18(月) 15:54 発言
【45305】Re:オートシェイプの貼り付け Kein 06/12/18(月) 18:20 発言
【45318】Re:オートシェイプの貼り付け すぎぽん 06/12/19(火) 9:09 お礼

36612 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free