Windowsのクリック操作を自動化

業務効率化

いつも同じ処理なのにたくさんクリックするのはめんどくさい・・・

UWSC使ってみたら?最初はめんどくさいけど、何回もやる操作なら後々すごく楽になるよ。

UWSCで、特定の画像を見つけてそこをクリックする、ということを行います。

この処理ができれば、クリックして進める処理を自動化していくことができます。複雑なパッケージソフトの操作などを処理毎に自動化すると、ワンクリックで処理ができるので、他の人にも任せやすくなりますね。

クリック自動化のメリットとデメリット

メリット

人が操作する手順と同じ流れでプログラムが記載できる。

Windowsに入っているメモ帳で気軽にプログラミングできる。

処理の順番に人為的ミスがなくなる。

自分以外の人も気軽に同じ処理が実行できる。

デメリット

プログラムを動作させるときに画面上に同じ画像がないようにしなければならない。

動作中にマウスを動かしてはいけない。

プログラム動作中は、パソコンで何かしなければいいんだね

UWSCのダウンロードと実行

Windowsの自動化ソフト、UWSCをダウンロードします。

UWSCのダウンロードリンク

ダウンロードしたzip圧縮ファイルを解凍すると、「UWSC.exe」等が入ったフォルダができます。

この「UWSC.exe」をダブルクリックしてみます。

上のような画面が表示されます。

試しに、最初から添付されている「GruGru」というプログラムを動作させてみます。

①のボタンで、「GruGru.uws」というファイルを選択します。

②に、GruGru.uwsと表示されていることを確認します。

③のボタンを押して実行してみてください。

このような流れで、プログラムを作成して実行していきます。

電卓がぐるぐるしたよ

画像を入れる場所とプログラム

ボタンを自動で押すプログラムを作るためには、あらかじめ押す部分の画像を登録しておきます。押す部分の画像を保存するフォルダを作成しましょう。

imageという名前のフォルダを作成しました。

プログラムは、テキストドキュメントの新規作成で、「Test.uws」という名称で作成しました。

拡張子の変更は、「はい」とします。

この拡張子「.uws」は、UWSCのファイルですよ、と伝えるものなので、このようにしてくださいね。

これでプログラム作成の準備が整ったね

クリックしたい画像の準備

ペイントアプリでクリックしたい画像を作成します。

画像加工はめんどくさいな・・・

スクショとってペイントでサイズそろえるだけだよ・・・

画面のスクリーンショットを取ります。

大抵のキーボードには、「PrintScreen」というキーがあります。FnとPrintscreenを同時に押すと、画面のコピーがPCに保存されます。

※写真はDellのキーボードの場合です。

Dellのキーボードの例 Fn+PrintScreenで画面のスクリーンショット

次に、ペイントアプリを開きます。

ペイントなどと検索すると出てくる

ペイントアプリで「ctrl + V」を押すと、先ほどの画面が貼り付けられます。

ペイントアプリに画面が貼り付けられたら、全体を選択(ctrl + A)して、欲しい画像部分のみを左上に移動させます。

画像移動後

画像サイズをクリックする画像のみにトリミングします。ペイントのキャンバスの右下、□をドラッグすると、トリミングできますので、windowsマークのみにします。

最後に、名前を付けて保存にて、「win」とします。また、ファイルは、「24ビット ビットマップ」形式で先ほど作成したimageフォルダに保存しておきます。

ここでの画像の作成方法は一例だよ、慣れた手順でやってね

クリック自動化の最小のプログラム

指定した部分(ボタンなど)単純に押すのみのプログラムです。

//登録された画像を画面上から探してクリックする
While True
  gazou = "C:\Users\Panda\画像.bmp" //ここでどの画像を探すかを読み込む

  ifb !CHKIMG(gazou,0,1,1,IMG_MSK_BGR4) and !CHKIMG(gazou, -1, 1, 1) //画像があるかを探す
    sleep(1)
  else
    BTN(LEFT,CLICK, G_IMG_X+10, G_IMG_Y+10)// 画像の位置を、クリック!!
    BREAK
  endif
Wend

このプログラムをコピーして、先ほど作成した「Test.uws」に貼り付けます。

コピーしたプログラムの変更点は次の通りです。

①画像のパスを設定

「gazou = 」の画像をクリックしたい画像のものにする。「C\Users...」は、パスといって、どこに保存されているかを示すもので、次の画像のように簡単に取得できます。

②画像のクリック位置

プログラムの②の部分は、画像のクリック位置になります。

プログラムの「G_IMG_X」に+10を追加すると、画像の右方向へ10ピクセルずれた場所、「G_IMG_Y」に+10を追加すると、画像の下方向へ10ピクセルずれた場所を示すので、画像のギリギリではなく、画像の内側をクリックできるようになります。

プログラムができたら、UWSCで読み込んで実行だね

やってみよう~

次のステップ

ウィンドウズマークを押してメニューを表示させた後、もう一回ウィンドウズマークを押してメニューを閉じてみます。

①マウスが乗った時のwindowsマーク画像作成

win2.bmp

上のように、マウスを載せた状態でスクリーンショットを取り、ペイントでサイズを加工した画像を用意します。

②プログラム作成

次のようなプログラムを用意します。

※プログラム内の画像のパスは、任意のものにしてください。(gazou=のあと)

While True
  gazou = "C:\Users\Panda\Desktop\uwsc5302\image\win.bmp" 

  ifb !CHKIMG(gazou,0,1,1,IMG_MSK_BGR4) and !CHKIMG(gazou, -1, 1, 1)
    sleep(1)
  else
    BTN(LEFT,CLICK, G_IMG_X+10, G_IMG_Y+10)
    BREAK
  endif
Wend

sleep(1)

While True
  gazou = "C:\Users\Panda\Desktop\uwsc5302\image\win2.bmp" 

  ifb !CHKIMG(gazou,0,1,1,IMG_MSK_BGR4) and !CHKIMG(gazou, -1, 1, 1)
    sleep(1)
  else
    BTN(LEFT,CLICK, G_IMG_X+10, G_IMG_Y+10)
    BREAK
  endif
Wend

ちょっと長くなった!?

複雑に見えるけど、簡単だよ

プログラムの構成

①は、最初に作成したプログラム

次に、Sleep(1)で、一秒待機します。

下の赤枠は、①のコピーで、画像がマウスが乗った時のwindows画像の「win2.bmp」を読み込むようになっています。

なるほど、いろいろなボタン画像を画像で登録すれば、いろいろなクリックをたくさん自動でできるわけだね

これでパンダさんの仕事も少しは楽になるのかな?

まずは寝てからやります

タイトルとURLをコピーしました