FullStackEngineer 2018年5月3日更新

RPAで事務仕事の自動化、効率化を行う

Index

ホワイトカラーの救世主? RPA(Robotic Process Automation)徹底解説

1 はじめに

一言でいうと

「PC上の定型的な操作(クリック、入力、コピペなど)をソフトウェアロボットに記憶させ、自動代行させる技術」 です。

なぜ今、重要なのか

労働人口の減少と「働き方改革」が進む中、人間が付加価値の低い単純作業(データ転記や集計)に時間を費やすことは経営的な損失となっています。 RPAは、大規模なシステム改修を行うことなく、既存のアプリケーション(Excel、ブラウザ、基幹システム)をまたいで操作を自動化できるため、即効性の高い業務効率化手段として定着しています。

2 ビギナー向け・ドキュメント

概要:PCの中に住む「新人事務員」

RPAは、あなたのPCの中に住む「真面目な新人さん」だと思うと分かりやすいです。 「このExcelのA列をコピーして、ブラウザの検索窓に貼り付けて、検索ボタンを押して…」と、手順を一度教えれば(シナリオ作成)、文句も言わずに24時間365日、超高速で同じ作業を繰り返してくれます。 ただし、教えられていない「想定外のエラー画面」が出ると、どうしていいか分からず止まってしまいます。

公式情報・主要ツール

RPAにはいくつかの主要ベンダーと、エンジニア向けのOSSライブラリがあります。

導入:Pythonによる簡易RPA (Hello World)

市販ツールはGUI(ドラッグ&ドロップ)で作りますが、エンジニアにとってはPythonなどのスクリプトで書く方が直感的な場合もあります。 以下はPythonのライブラリ PyAutoGUI を使って、メモ帳を開いて文字を打つ自動化の例です。

import pyautogui
import time
import subprocess

# 1. メモ帳を起動する(外部アプリ操作)
subprocess.Popen(['notepad.exe'])

# アプリが立ち上がるまで少し待つ
time.sleep(2)

# 2. 文字を入力する
pyautogui.write('Hello, RPA World!', interval=0.1)

# 3. Enterキーを押す
pyautogui.press('enter')

# 4. 現在のマウス位置から座標(100, 100)へ移動してクリック
pyautogui.moveTo(100, 100, duration=1)
# pyautogui.click() 

3 会話集

エンジニアと業務担当者の間でよくある会話です。

Q1. Excelのマクロ(VBA)と何が違うんですか?

業務担当: 「Excelならマクロで自動化できますよね?」 エンジニア: 「はい。でもマクロはExcelの中でしか動けません。RPAは『Excelからデータをコピーして、Webブラウザの会計システムに入力し、完了メールをOutlookで送る』といった、アプリをまたぐ作業が得意なんです。」

Q2. 導入すれば誰でも簡単に自動化できる?

Aさん: 「『ノンプログラミングで簡単』って聞きました。」 Bさん: 「確かにコードは書きませんが、条件分岐やループ処理といったプログラミング的思考は必須です。ロジックが組めない人が作ると、すぐに止まる不安定なロボットが量産されてしまいます。」

Q3. 「野良ロボット」って何ですか?

Aさん: 「野良猫みたいな…?」 Bさん: 「作成者が退職したり異動したりして、『何をしているか誰も知らないのに動き続けているロボット』のことです。もし業務フローが変わったのにロボットが古い手順で発注処理を続けていたら…怖いですよね。だから管理体制が必要なんです。」

4 より深く理解する為に

仕組み:どうやって画面を認識しているか

RPAがボタンや入力欄を識別する方法は主に3つあります。

  1. オブジェクト認識(セレクタ): HTMLタグやアプリのUI構造(IDやClass)を解析して特定する。最も安定的。
  2. 画像認識: 「この画像と同じものが画面にあったらクリック」という方式。解像度やテーマ変更に弱いが、リモートデスクトップ先などの構造が読めない環境で使える。
  3. 座標指定: 「左上からx=100, y=200の場所」をクリック。ウィンドウ位置がズレると失敗するため推奨されない。

RPAの2つの型

  • デスクトップ型 (RDA): 個人のPCにインストールして動く。手軽だが、PCを使っている間は人間が作業できないこともある。
  • サーバー型: サーバー上で集中管理されて動く。大量処理やスケジュール実行に向くが、導入コストが高い。

成功の鍵:BPR(ビジネスプロセス・リエンジニアリング)

「今の作業をそのままRPA化する」のは失敗の元です。 RPAを入れる前に、「そもそもこの作業は必要か?」「フローを簡素化できないか?」と業務を見直す(BPR)ことが、安定した自動化への近道です。

5 関連ワード

  1. OCR / AI-OCR
    • 紙の請求書などをスキャンして文字データ化する技術。RPAと組み合わせることで「紙の処理→システム入力」まで自動化できる。
  2. Selenium (セレニウム)
    • Webブラウザの操作を自動化するOSSフレームワーク。Webアプリのテスト用だが、エンジニア主導のRPA的な用途でもよく使われる。
  3. iPaaS (Integration Platform as a Service)
    • ZapierやIFTTTなど、APIを使ってクラウドサービス同士を連携させる仕組み。UI操作を行うRPAよりも高速で安定的。
  4. シナリオ / ワークフロー
    • ロボットに行わせる一連の命令手順書のこと。
  5. 例外処理 (Exception Handling)
    • 「ポップアップが出た」「読み込みが遅い」などのエラー時に、ロボットを停止させず、リトライしたり管理者に通知したりする処理。

6 要点チェック

  • アプリ横断: Excel、ブラウザ、レガシーシステムなど、異なるソフトをつないで操作できるのが最大の強み。
  • メンテ必須: 画面のデザインが変わればロボットは動かなくなる。「作って終わり」ではない。
  • 業務整理が先: 汚い業務フローを自動化しても、高速で混乱が起きるだけ。まずは業務の断捨離(BPR)から。
  • 管理の重要性: 誰がどのロボットを動かしているか把握しないと「野良ロボット」化し、リスクとなる。

最新記事一覧

続きを見る

関連コンテンツ

カテゴリー一覧

TOP フルスタックエンジニアを目指すに方々へ RPAで事務仕事の自動化、効率化を行う