UWSC というツールを何年か前から使っています。
Windows マクロを作成するプログラミング言語です。
このツールを使えば今で言う RPA と同じようなことができます。
今日は UWSC を使って画像をクリックする方法を紹介します。
1、Windows 画面上に出てくる画像
普段我々がWindows 画面上で操作をするときには操作のために必要な箇所をクリックしますよね。
アプリを動かしているときには、例えば「ファイルボタン」をクリックしてから「開くボタン」をクリックするといったことをします。
Web 操作をしているときには、「検索ボタン」をクリックしたり、「リンク」をクリックしたりします。
これらの操作でクリックする対象は
「ファイルボタン」の画像
「開くボタン」の画像
「検索ボタン」の画像
「リンク」の画像
というように1つ1つ画像とみなすことができるわけですね。
そして、UWSC を使ってこれらの画像をクリックするマクロを作ることで、クリックの操作を自動化できるのです。
2、UWSC を使ったクリック操作の一例
会計ソフト(JDL の IBEX 会計)で仕訳帳を表示した状態から、年間の試算表の表示に切り替えたいと思います。
以下が仕訳帳です。
手動で操作する場合、仕訳帳の画面で「仕訳計」ボタンをクリックすると、試算表に切り替わります。
別にこの操作だけであれば、何も UWSC によるマクロを使わなくてもできますし、面倒でもありません。
しかし、実際に実務の場で有用なのは、こういった1つ1つの簡単な操作で構成された複雑な操作をマクロ化したものなので、基礎の基礎はしっかり身に付けなければなりません。
UWSC コードの内容は、「仕訳計」ボタンの画像を探し出しクリックするという内容になります。
そのために、まずはクリックの対象となる画像を作成しなければなりません。
クリックの対象となる画像の作成と保存
さて、画像の作成方法を説明します。
まず「仕訳計」ボタンの画像を作成します。
クリックしたい「仕訳計」ボタンを画面上に表示した状態で「プリントスクリーン」します。
そして、ペイントを開きプリントスクリーンした画像を貼り付けます(Ctrl + V で可)。
ペイント↓
画像を貼り付け↓
次に「仕訳計」ボタンに該当する部分を切り取ります(トリム)。
「ホーム」タブの「選択」をクリックし、該当する部分をドラッグして選択します。そして、選択した状態で「トリミング」をクリックします。
これにより、「仕訳計」ボタンがトリムされた状態になります。
これを画像ファイルとして保存します。
ファイル名を適当に付けましょう。「Shisanhyou_Button.bmp」としておきます。
ファイルの種類として「24ビットマップ」を選択してから保存します。
※UWSC で取り扱う画像の種類は必ず「24ビットマップ」にしなければなりません。これはこのプログラミング言語を使う上での決まりごとです。
こうして保存した画像↑と同じものを探してクリックする UWSC コードを組むことになります。
3、UWSC のプログラミングコード
コードを記述するために、メモ帳を開いて名前を付けて拡張子を「.uws」にして保存します(一度「.txt」で保存した後に「.uws」に書き替え)。
「Shisanhyou.uws」としておきます。
保存場所は画像ファイル(.bmp)と同じフォルダにしなければなりません。
作成したファイル「Shisanhyou.uws」を開いて以下のコードを書き込みましょう。
全コード
1 2 3 4 5 6 7 8 9 10 |
IFB CHKIMG("Shisanhyou_Button.bmp") BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y) ELSE MSGBOX("「仕訳計」の画像認識に失敗しました。") EXITEXIT ENDIF |
コード説明
上記コードの内容を説明をします。
条件分岐
IFB を使って条件分岐を行っています。
VBA や他のプログラミング言語でも出てくる IF 文と同じですね。
次のように記述した場合を考えてみます。
————————————-
IFB 条件
処理1
ELSE
処理2
ENDIF
————————————-
「条件に当てはまる場合 処理1を行い、当てはまらない場合 処理2を行う」という条件分岐になります。
今回のコードで言えば、条件に該当する部分は
CHKIMG(“Shisanhyou_Button.bmp”)
となり、処理1に該当する部分は
BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y)
となります。
また、処理2に該当する部分は
MSGBOX(“「仕訳計」の画像認識に失敗しました。”)
EXITEXIT
となります。
CHKIMG 関数
指定した「画像ファイル」が UWS ファイルと同じフォルダ内に存在するかチェックする関数です。
画像ファイルは ” ” で囲わなければなりません。
これにより、「Shisanhyou_Button.bmp」という名前の画像ファイルが存在するかチェックしています。
BTN 関数
指定したボタン操作を行う関数です。
「ボタン」は、LEFT が左クリック、RIGHT が右クリックとなります。
「状態」が CLICK だと、マウスをクリックすることになります。
「X 座標」はPC画面上の横方向の位置、「Y 座標」は画面上の縦方向の位置となります。
そして、X 座標、Y 座標をそれぞれ G_IMG_X 、G_IMG_Yとすると、画像の左上の位置を指定したことになります。
今回記述の以下のコードにより、存在を確認した画像ファイル(Shisanhyou_Button.bmp)の左上の位置を左クリックすることになります。
MSGBOX 関数
指定したメッセージを表示します。
メッセージは ” ” で囲わなければなりません。
今回の以下のコードでは、画面上に画像が存在しない場合に「「仕訳計」の画像認識に失敗しました。」と表示させます。
EXITEXIT 関数
コードを終了させます。強制終了です。
今回の場合は、画像が存在しない場合にコードを終了させます。
実行
さて、今回の UWSC によるマクロを実行した動画を以下に示します。
読込みボタン(以下の赤枠で囲った箇所)をクリックして実行するファイルを選択します。
先ほど作成した「Shisanhyou.uws」しましょう。
普通どおりに実行した結果です。仕訳帳の画面で「仕訳計」ボタンをクリックして試算表を開きます。
なお、画面上に「仕訳計」ボタンが表示されていない状態で実行すると、先ほどコード中に記述した以下のエラーメッセージが表示されます。
“「仕訳計」の画像認識に失敗しました。”
3、まとめ
UWSC を使って画像をクリックする方法を説明しました。
こういった操作の自動化をいくつも組み合わせることで、複雑な操作を手間なく終わらせることができるようになります。
さて、ついでになりますが UWSC は Excel 画面上で Excel VBA を使って UWSC を実行することも可能です。
次の動画を確認下さい。
今回作成したUWSCのマクロを下の動画左側の Excel 画面上の「実行」ボタンを押して実行すると、右側の会計ソフトの仕訳帳を試算表に切り替えます。
すみませんが今回は上記動画(Excel VBA を使って UWSC を実行)の詳細な解説は割愛させて頂きますが、Excel VBA と UWSC を組み合わせて使うことで様々に使い道が出てくると覚えて頂ければと思います。
そのあたりのこともいくつか記事にかいておりますので、参考までに↓