はじめろぐ

マクロ(UWSC)を使って画面上の画像をクリックする方法

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」を開いて以下のコードを書き込みましょう。

全コード

コード説明

上記コードの内容を説明をします。

条件分岐

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 ファイルと同じフォルダ内に存在するかチェックする関数です。

CHKIMG(画像ファイル)

画像ファイルは ” ” で囲わなければなりません。

これにより、「Shisanhyou_Button.bmp」という名前の画像ファイルが存在するかチェックしています。

CHKIMG(“Shisanhyou_Button.bmp”)

BTN 関数

指定したボタン操作を行う関数です。

BTN(ボタン,状態, X座標, Y座標)

「ボタン」は、LEFT が左クリック、RIGHT が右クリックとなります。

「状態」が CLICK だと、マウスをクリックすることになります。

「X 座標」はPC画面上の横方向の位置、「Y 座標」は画面上の縦方向の位置となります。

そして、X 座標、Y 座標をそれぞれ  G_IMG_X 、G_IMG_Yとすると、画像の左上の位置を指定したことになります。

今回記述の以下のコードにより、存在を確認した画像ファイル(Shisanhyou_Button.bmp)の左上の位置を左クリックすることになります。

BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y)

MSGBOX 関数

指定したメッセージを表示します。

MSGBOX(メッセージ)

メッセージは ” ” で囲わなければなりません。

今回の以下のコードでは、画面上に画像が存在しない場合に「「仕訳計」の画像認識に失敗しました。」と表示させます。

MSGBOX(“「仕訳計」の画像認識に失敗しました。”)

EXITEXIT 関数

コードを終了させます。強制終了です。

今回の場合は、画像が存在しない場合にコードを終了させます。

実行

さて、今回の UWSC によるマクロを実行した動画を以下に示します。

読込みボタン(以下の赤枠で囲った箇所)をクリックして実行するファイルを選択します。

先ほど作成した「Shisanhyou.uws」しましょう。

普通どおりに実行した結果です。仕訳帳の画面で「仕訳計」ボタンをクリックして試算表を開きます。

なお、画面上に「仕訳計」ボタンが表示されていない状態で実行すると、先ほどコード中に記述した以下のエラーメッセージが表示されます。

“「仕訳計」の画像認識に失敗しました。”

3、まとめ

UWSC を使って画像をクリックする方法を説明しました。

こういった操作の自動化をいくつも組み合わせることで、複雑な操作を手間なく終わらせることができるようになります。

さて、ついでになりますが UWSC は Excel 画面上で Excel VBA を使って UWSC を実行することも可能です。

次の動画を確認下さい。

今回作成したUWSCのマクロを下の動画左側の Excel 画面上の「実行」ボタンを押して実行すると、右側の会計ソフトの仕訳帳を試算表に切り替えます。


すみませんが今回は上記動画(Excel VBA を使って UWSC を実行)の詳細な解説は割愛させて頂きますが、Excel VBA と UWSC を組み合わせて使うことで様々に使い道が出てくると覚えて頂ければと思います。

そのあたりのこともいくつか記事にかいておりますので、参考までに↓

経理職や会計事務所の仕事において、会計ソフトを使うのが主流である今、手書きの伝票は使う必要はありません。最初から会計ソフトに仕訳を入力すれば事足ります。しかし、現実には様々な事情がありどうしても伝票を作らなければならないことがあります。私の場合は、手書きの振替伝票は使わずに Excel で作った振替伝票にPC上で仕訳を入力しています。そして、振替伝票に入力した仕訳をマクロ(Excel VBA、UWSC)を使って、会計ソフトに自動で取り込む仕組みを作ってあります。*なお、今日これから紹介する振替伝票と同様に、マクロ(...
Excel で作る振替伝票、マクロ機能(Excel VBA、 UWSC)を使って会計ソフトに仕訳デ... - My タックスノロジー
年末調整時に「給与所得者の保険料控除申告書兼給与所得者の配偶者特別控除申告書」(以下、保険料控除申告書と呼びます)を作成しなければなりません。そして、保険料控除申告書の内容を税務ソフトに入力しなければなりません。私がいる会計事務所では、税務ソフトはJDLの「年末調整システム」を使用しています。従来は紙の保険料控除申告書に手書きで記載した内容を見ながら、年末調整システムに手入力していました。私が事務所に入った後に、業務改善を行い Excel で作った保険料控除申告書に PC上で入力した後に、ワンクリックで年...
マクロ(Excel VBA + UWSC)を使った業務効率化事例 Excel 保険料控除申告書に入力... - My タックスノロジー
モバイルバージョンを終了