LoginSignup
6
11

More than 1 year has passed since last update.

Python(pyautogui)でデスクトップアプリ操作を自動化!

Posted at

はじめに

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で無料で構築出来ます。

Pyautoguiイメージ.PNG

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") 

最後に:

今後も、業務に役立ちそうなプログラムを作成して掲載していきたいと思います。

6
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
11