はじめに
Pythonプログラムで即業務に役立つサンプルプログラムとして、pyautoguiを使ってデスクトップアプリの操作を自動化しましたので、共有します。
動作環境
Visual Studio Code
Python3.9.1
各種利用ライブラリー
PyAutoGUI 0.9.53
pyperclip 1.8.2
pandas 1.2.3
処理概要:
受注データ入力などの際、既にエクセルデータなどが有るにも関わらず、社内の受注管理システムにエクセルのアップロード機能などがなく、手入力しているケースは無いでしょうか?
そんな時、pyautoguiを使って、マウスやキーボード操作を自動化することで、データ入力作業が自動化出来ます。
いわゆるRPA(Robotics Process Automation)がPythonで無料で構築出来ます。
YouTubeでの解説:
pyautoguiの基本機能をYoutubeで詳しく解説していますので、ぜひ、ご覧ください。
https://youtu.be/yMxXZepL5Ck
サンプルソース
YouTubeで紹介している処理のプログラムソースです。
受注システム入力フォームに対してエクセルファイルをインプットに自動入力している例です:
rpa1.py
import pyautogui
import pyperclip
import time
import pandas as pd
import sys
df = pd.read_excel('受注データ.xlsx')
res = pyautogui.confirm(text='受注入力フォーム準備OK?', title='確認', buttons=['OK', 'Cancel'])
if res == 'OK':
time.sleep(4)
else:
sys.exit()
for i, r in df.iterrows():
pyperclip.copy(str(r['顧客コード']))
pyautogui.hotkey('ctrl', 'v')
pyautogui.press("tab")
pyperclip.copy(str(r['品番']))
pyautogui.hotkey('ctrl', 'v')
pyautogui.press("tab")
pyperclip.copy(str(r['数量']))
pyautogui.hotkey('ctrl', 'v')
pyautogui.press("tab")
pyperclip.copy(str(r['納期']))
pyautogui.hotkey('ctrl', 'v')
pyautogui.press("tab")
pyperclip.copy(str(r['単価']))
pyautogui.hotkey('ctrl', 'v')
pyautogui.press("tab")
pyautogui.press("enter")
最後に:
今後も、業務に役立ちそうなプログラムを作成して掲載していきたいと思います。