Pythonを使うとパソコン操作を自動化することができます。
マウスクリックやキーボード入力のような作業をプログラムで実行することができるのです。
ここではPython×Windowsの入門事例として、PCの電卓を起動し計算するプログラムを作っていきます。
・PC電卓で自動計算
以下で詳しく紹介していきます。
目次
Pythonで電卓を起動して計算する
今回は以下の作業をpythonで行います。
1. windows PCの検索に入力
2. PC電卓を起動
3. 電卓を自動計算
上記の作業をPythonプログラムで実行していきます。
Pythonプログラムの実行前準備|ライブラリインストール
1. 必要なライブラリをインストール
準備1|必要なライブラリをインストール
今回は以下のライブラリをインストールします。
pip install pyautogui
PC操作を自動化するライブラリです。
上記をインストールしておかないと動かないので、注意が必要です。
Pythonプログラム解説
この記事で紹介するプログラムを解説しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# プログラム1|ライブラリ設定 import pyautogui as gui import time # プログラム2|検索を開く gui.hotkey('win', 's') time.sleep(1) # プログラム3|検索窓に入力 gui.write('calculator') time.sleep(1) # プログラム4|Enterを入力 gui.press('enter') time.sleep(1) # プログラム5|電卓を最大化 gui.hotkey('win', 'up') time.sleep(1) # プログラム6|計算 for i in range(1,10): gui.write(str(i)) time.sleep(0.1) gui.write('*') time.sleep(0.1) |
以下で詳しく説明しています。
プログラム1|ライブラリ設定
1 2 3 |
# プログラム1|ライブラリ設定 import pyautogui as gui import time |
pyautoguiでPC操作をpythonプログラムで代替できるようになります。
「pyautogui as gui」とすることで、pyautoguiをguiという変数で扱うようにしています。
プログラム2|検索を開く
1 2 3 |
# プログラム2|検索を開く gui.hotkey('win', 's') time.sleep(1) |
以下で一行ずつプログラムを解説します
プログラム解説
2 |
gui.hotkey('win', 's') |
hotkeyを使うことで()内のキーをショートカットキーとして操作します。
ここでは(‘win’,’s’)とすることで、windowsキーとsキーを同時に押したときの操作を呼び出します。
これで検索を選択した状態となります。
3 |
time.sleep(1) |
PCの動作時間として、1秒間PC操作を止めます。
動作を待ってから、次のプログラムを動かさないとミスが発生するリスクがあるためです。
たとえば検索を選択する前に、次の動作を移行してしまうと、正しく処理がされません。
よって、PCの動作時間として1秒間PC操作を止めるようにしています。
1秒が長いと感じる場合は、0.5秒と短くしても構いません。
プログラム3|検索窓に入力
1 2 3 |
# プログラム3|検索窓に入力 gui.write('calculator') time.sleep(1) |
以下で一行ずつプログラムを解説します
プログラム解説
2 |
gui.write('calculator') |
writeを使うことで()内の文字列をキー入力させることができます。
ここでは(‘calculator’)とすることで、PC電卓を呼び出します。
3 |
time.sleep(1) |
PCの動作時間として、1秒間PC操作を止めます。
1秒間止める理由は既に説明済みなので、詳細は省略します。
プログラム4|Enterを入力
1 2 3 |
# プログラム4|Enterを入力 gui.press('enter') time.sleep(1) |
以下で一行ずつプログラムを解説します
プログラム解説
2 |
gui.press('enter') |
pressを使うことで()内のキーを入力させることができます。
ここでは(‘enter’)とすることで、[Enter]キーを呼び出します。
そうすると、検索窓に「calculator」を入力した状態で[Enter]キーを押す動作が実行されます。
これにより、電卓が起動します。
3 |
time.sleep(1) |
PCの動作時間として、1秒間PC操作を止めます。
1秒間止める理由は既に説明済みなので、詳細は省略します。
プログラム5|電卓を最大化
1 2 3 |
# プログラム5|電卓を最大化 gui.hotkey('win', 'up') time.sleep(1) |
以下で一行ずつプログラムを解説します
プログラム解説
2 |
gui.hotkey('win', 'up') |
hotkeyを使うことで()内のキーをショートカットキーとして操作します。
ここでは(‘win’,’up’)とすることで、windowsキーと↑キーを同時に押したときの操作を呼び出します。
これでPC電卓を最大化します 。
3 |
time.sleep(1) |
PCの動作時間として、1秒間PC操作を止めます。
1秒間止める理由は既に説明済みなので、詳細は省略します。
プログラム6|計算
1 2 3 4 5 6 |
# プログラム6|計算 for i in range(1,10): gui.write(str(i)) time.sleep(0.1) gui.write('*') time.sleep(0.1) |
以下で一行ずつプログラムを解説します
プログラム解説
2 |
for i in range(1,10): |
「i=1, 2,3,・・・,9,10」と繰り返し処理を行っていきます。
なおrange(10)とすると、「i=0,1,2,・・・,8,9」と数を増やしていきます。
今回は掛け算を実行するため、0を掛け算してしまうと答えが0になるため、1から開始させています。
3 |
gui.write(str(i)) |
writeを使うことで()内の文字列をキー入力させることができます。
ここでは(str(i))としています。(i)とすると、int型でエラー出ますので、str型(文字列型)に変換しています。
4 |
time.sleep(0.1) |
PCの動作時間として、0.1秒間PC操作を止めます。
5 |
gui.write('*') |
writeを使うことで()内の文字列をキー入力させることができます。
ここでは(‘*’)としています。電卓においては掛け算を実行する場合、「*」となるため、「*」を入力するようにしています。
6 |
time.sleep(0.1) |
PCの動作時間として、0.1秒間PC操作を止めます。
繰り返し処理としてプログラム6の先頭に戻ります。
Pyautoguiと組み合わせることでRPAのような動きが可能になる
この記事ではPyautoguiを使って、PC電卓を起動する方法を紹介しました。
しかしながら、PC電卓を起動するプログラムは仕事で使うことはないと思います。
複雑な計算であればExcelで充分ですし、わざわざPC電卓を起動して計算させる意味がないからです。
ただそれでもPyautoguiを紹介したのは、PC操作によってRPAのような動きを活用して作業効率化できる場面があるためです。
他のライブラリと組み合わせでPC操作させる
pythonを使うメリットは、他のライブラリと組み合わります。
たとえばopenpyxlでエクセルから取得した値をPyautoguiを使って社内システムに入力するようなことが可能になります。
それこそエクセルから社内システムにコピペして貼り付ける単純作業がある場合、作業をラクにできます。
このような作業の効率化については別記事で紹介していきます。
Pythonについて詳しく理解したいなら
Pythonを活用すると、仕事を効率化できる幅を広げることができます。
たとえば私が実際にPythonを活用して効率化してきた作業は以下の記事で紹介しています。
興味がある人は以下の記事もご覧ください。
Python×効率化のサンプル
Pythonで効率化できる事例をサンプルコード付きで紹介しています。
Python×Excel
PythonとExcelで自動化できることを紹介しています。
事例も数多く紹介しているので、ぜひ参考にしてみてください。
Python×PDF
PythonとPDFで自動化できることを紹介しています。
Pythonって難しい?
Pythonの難易度などについては、以下で紹介しています。
勉強の参考になれば幸いです。