EXCEL VBA マウスの操作・自動操作・操作方法・クリック・ダブルクリック・マウスポインターの位置指定

 

 

EXCEL VBA マウスの操作・自動操作・操作方法・クリック・ダブルクリック・マウスポインターの位置指定

 

 

 ●はじめに

今回説明するのは、マウスの操作をVBA で行う方法を説明いたします。EXCEL VBAでマウス操作を使うには、「Windows API関数」を宣言する必要があります。また、API関数を宣言する際は、PC環境に応じて64Bitの場合と32Bitの場合では、宣言方法が異なるので下記を参照し、自身のPC環境により設定を行って下さい。

 

 

 ●書式の説明   (Windows API設定)

WindowsAPI(マウスを操作する各関数の使い方)
使用しているWindows/Officeの環境により、64Bit・32Bit用の下記に記載しているWindowsAPIを宣言する必要があります。


● SetCursorPos ・・・マウスを動かす・マウスのポインターの操作を行う。

 

● Mouseevent  ・・・マウスをクリックする操作を行う。

 

● GetCursorPos ・・・マウスのポインターの位置を取得します。

 

 

【使用例①】:マウスの位置を指定した座標に動かす。
 下記の使用例は、マウス位置を変更するサンプルプログラムです。マウスポインター位置を画面位置の横100・縦200にマウスポインタを合わせます。そのあとに、横200・縦400の位置にマウスポインターを合わせます。

・ SetCursorPos 横, 縦

 

 

 

【使用例②】:マスクのボタンをクリックする動作。
● 
下記の使用例は、マウスポインターの移動+マウスボタンのクリック(左)の押して放す動作を行うサンプルプログラムです。下記のプログラムは、画面サイズ(1920×1080)に合わせて作成しています。異なるサイズですと正常に動作しません。※正常に動作する場合は、Windowsボタンがクリックされメニューが表示されます。

引数パラメータ説明(内容)
2MOUSEEVENTF_LEFTDOWNマウスの左ボタンを押す。
4MOUSEEVENTF_LEFTUPマウスの左ボタンを放す。
8MOUSEEVENTF_RIGHTDOWNマウスの右ボタンを押す。
10MOUSEEVENTF_RIGHTUPマウスの右ボタンを放す。
20MOUSEEVENTF_MIDDLEDOWNマウスの中央ボタンを押す。
40MOUSEEVENTF_MIDDLEUPマウスの中央ボタンを放す。

・ mouse_event 引数

 

【実行前⇒実行後】

 

【使用例③】:マウスポインターの位置を取得する。
 下記の使用例は、マウスポインターの位置を取得するサンプルプログラムです。現在のマスポインターの位置を横(X)・縦(Y)で取得します。

 

【実行前⇒実行後】

 

【注意点】
● 上記の宣言を行わないとマウス操作等は扱えなくなるので、必ずWindowsAPIの宣言を忘れに設定しましょう。

● 今回説明するサンプルプログラムでは、画面の解像度は全て1920×1080ベースで作成しております。

 

 

 

 

EXCEL VBA マウスの操作・マウスポインターの位置を自動記録

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、マウスで操作したマウスポインター位置を自動記録するサンプルプログラムです。マウスの左クリックを押す事で、クリックした位置のマウスポインターの位置をX座標・Y座標ごとに順番に記録する事ができます。マウスポインターの座標位置を確認する時やマウス操作の自動化する際に位置を順番に記録する時に便利だと思います。それでは、順番に説明いたします。

【プログラムの説明】
今回のプログラムでは、2つのプログラムが登録されており、1つ目のプログラムは、マウスポインターの位置をワークシートに記録するプログラムで、2つ目は記録したマウスポインターの位置をクリアーする2つのプログラムで構成されています。

①.マウスポインタ―の座標(X,Y)を自動登録するプログラム
②.マウスポインタ―の登録した座標をクリアーするプログラム

【プログラム実行条件】

● 下記のサンプルプログラムでは、画面の解像度はどの画面サイズでも実行できます。

 

 

●実行前~実行後 ※「記録スタート」のボタンをクリックして、マウスポインターの位置を記録します。位置を記録する場合は、マウスの左クリックする事で、順番に記録する事ができます。位置の記録を終了する場合は、「ESC」ボタンを押して記録を終了します。
(画面クリックして拡大)

 

 

 

 

EXCEL VBA マウスの操作・マウスポインターの位置を自動記録したデータを元に自動的にマウス操作します。

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、サンプル①で作成したマウスポインターの位置を記録したデータを元に自動的にマウス操作するサンプルプログラムです。簡易RPAとまではなりませんが、マウス操作を自動化して他のアプリを操作する事もできます。EXCEL VBAから特定の画面位置をクリックする時などには、とても便利だと思います。それでは、サンプルプログラムを交えて順番に説明いたします。

 

【プログラムの説明】
今回のプログラムでは、3つのプログラムが登録されており、①マウスポインターの位置をワークシートに記録するプログラムで、②記録したマウスポインターの位置をクリアーするプログラム、③記録したマウスポインターの位置を順番に実行する3つのプログラムで構成されています。新たに3つ目のプログラムは、記録したマウス座標位置に対して、マウスポインター位置を合わせてマウスの左ボタンを1クリックします。

★【サンプルプログラム】
下記のリンク先よりサンプルプログラムをダウンロードする事ができます。

● マウスポインター①記録・実行
マウスポインター記録・実行(ダウンロード)

 

 

 ●実行前~実行後 ※「記録スタート」ボタンをクリックしてプログラム実行し、記録したいマウスポインター位置を順番にワークシートへ記録します。記録したマウスポインター位置を順番に実行するには、「マウス操作実行」ボタンをクリックするとマウスポインター位置に合わせて順番にクリックを行います。今回は、電卓アプリを自動に計算させました。このように、様々なアプリケーションソフトも操作する事が出来ます。
(画面クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。