【VBA】マウスの座標を取得する

VBA

VBAでマウスの座標を取得してみます。

座標を取得するコードの応用方法も後半に掲載しています。

マウスの座標を取得する

マウスの座標を取得するにはWindowsAPIのGetCursorPosを使用します。

 

GetCursorPosの結果を受け取るための構造体を事前に宣言します。

 

Declare文を利用して、WindowsAPIのGetCursorPosを宣言します。

 

GetCursorPos cでマウスの現在位置を取得します。

座標位置は構造体内の各変数名(今回であればxとy)を使用して取得します。

 

ステータスバーにマウスの現在位置を表示する

ステータスバーに現在のマウスの位置の座標を表示してみます。

 

コードを実行すると、ステータスバーにマウスの現在位置が5秒間表示されます。

 

 

 

マウスの移動を再現する

事前に座標を保存しておくと、設定しておいた位置にマウスを動かせます。

下記のコードsaveCoordinatesを実行すると、「座標」シートに
マウスで左クリックした座標位置を書き込みます。

マウスの左クリックの判定にはWindowsAPIのGetAsyncKeyStateを使用します。

 

座標位置をシートに取得後、下記のloadCoordinatesを実行すると
座標シートに記録した位置にマウスカーソルを移動します。

マウスカーソルの移動にはWindowsAPIのSetCursorPosを使用します。

 

マウスクリックのWindowsAPIと組み合わせると
指定した位置の座標を自動でクリックしていくツールを作成できます。

ただ、VBAで作成する必要がなければフリーソフトを使用したほうが
工数はかからないです。

Vector: トップ / ダウンロード / Windows10/8/7/Vista/XP/2000/NT / ユーティリティ / 操作関係 / マウス用
Vectorソフトウェアライブラリに収録されているソフトのカテゴリ別一覧ページです。人気順、新着順、名前順にてソフトを探せます。

コメント