PyautoGUIを使った、マウス・キーボード操作を自動化する方法

困っている人

  • PyAutoGUIとはどういうものか。RPA、VBA・マクロとの違いを知りたい。
  • PyAutoGUIでマウス・キーボード操作を自動化する方法を教えてほしい。
この記事で解決できること
  • PyAutoGUIとRPA、VBA・マクロとの違いを知ることができます。
  • マウス・キーボード操作を自動化する方法が分かります。

 PyAutoGUIとは

PyAutoGUIとはPythonライブラリの1つで、マウスやキーボード操作を自動化できるツール(無料)のことです。Windows、macOS、Linuxで動作します。

具体的には、マウスを自動操作してアプリケーション(Excelなど)ファイルを開いたり、キーボードを自動操作して数値や文字を入力することができます。

また、事前に用意した画像がデスクトップ上にあるかどうか認識させ、クリックなどの指示も可能です。

  1. マウス操作クリック操作・・・ドラッグ操作、スクロール操作など
  2. キーボード操作・・・タイピング、ファンクションキー入力、ショートカット入力
  3. 画像認識・・・指定した画像を認識し、クリック操作等の指示が可能

PyAutoGUIを使えば人間よりも何倍も速く正確に、ルーチン業務を処理することができます。

PyAutoGUIとは|RPA、VBA・マクロとの違い

RPAとは

RPAとはロボティック・プロセス・オートメーションの略で、ロボットによる業務の自動化を表す言葉です。

基本的には、PyAutoGUIと同じで、マウスやキーボード操作を自動化できるのですが、プログラミングの知識がなくても動かせる点が特徴です。

ただし、導入規模に応じて費用が高額になってしまうところがネックです。

WinActorの場合(年間費用)

  • 開発者ライセンス:90万8000円/1台
  • 実行ライセンス:24万8000円/1台
  • 管理ツール:228万円

VBA・マクロとは

VBA(Visual Basic for Applications)とは、Excel、Access、Wordなどのオフィスソフトにおいて、プログラミング言語のVisual Basicの簡易版を使って、複雑な処理でも自動化できる点が特徴です。

ただし、オフィスソフトでしか動作しません。

PyAutoGUIのメリット

PyAutoGUIはデスクトップ上で様々なアプリケーション(オフィスソフトを含む)をまたぐ操作が可能で、RPAに近い機能を持っています。

プログラミング言語Pythonを覚える必要がありますが、無料で使えるというメリットがあります。

実行環境について

注意点としては、クラウド型のプログラミング実行環境であるGoogle Colab(グーグルコラボ)では動作しません

ローカル型のプログラミング実行環境であるJupyterNotebook(ジュピターノートブック)をダウンロードする必要があります。

PyAutoGUIの基本操作

具体例として商品マスタ(Excel)の作成を紹介しますが、下記の8種類の基本的な構文を使用しています。

PyAutoGUIの基本操作一覧表

No. 基本的な構文 説明
1 pg.position() 現在のマウスの座標(x,y)を取得
2 pg.moveTo(x=100, y=200, duration=1) 指定の座標(x=100,y=200)まで、1秒でマウスを移動
3 pg.click(x=100, y=200, button=’left’) 指定の座標(x=100,y=200)で、1マウスを左クリック
4 pg.doubleClick(x=200, y=100) 指定の座標(x=100,y=200)で、ダブルクリック
5 sleep(3) 3秒間待機
6 pg.typewrite(‘excel’, 0.1) 「excel」とタイピング(1文字0.1秒)
7 pg.hotkey(‘return’) 「returnキー」を入力
8 pg.hotkey(‘ctrl’,’space’) 「ctrlキー」と「spaceキー」を同時入力(英字とひらがなの切り替え)

PyAutoGUIを使った自動化の具体例

JupyterNotebookの実行環境を使ってマウス操作・キーボード操作を自動化し、商品マスタ(Excel)を作成します。

PyAutoGUIによる処理内容(プログラミングコード)の詳細

PyAutoGUIでコードを書く際には、座標を取得するのが面倒ですが、自動化の仕組みは単純です。

上記の8種類の基本的な構文だけで、自動実行のプログラミングコードの記述が可能です。

一見、コードが多くて難しそうに見えますが、ほとんどコピペなので簡単に作成できます。

ところどころに「sleep」を入れているのは、コンピューターの処理時間を確保して自動実行の安定化を図るためです。

プログラミングコード

PyAutoGUIのまとめ

Excel操作の自動化だけならVBA・マクロでも実現できますが、PyAutoGUIではExcel操作だけでなく、様々なアプリケーションをまたぐ操作が可能なため汎用性の高いツールです。

プログラミング言語Pythonを習得すれば無料で利用できるので、是非マウス・キーボード操作の自動化を試してみてください。

Pythonを勉強したいけど、いきなり数十万円もするプログラミングスクールに申し込む勇気がない。低価格で始められる、初心者にオススメなPython学習サイトが知りたい方は、Python学習サイトまとめを参考にしてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です