
画面記録RPAからAutoHotkeyへ移行すべき3つの理由
現場で画面記録型RPA(WinActor、Power Automate for Desktop等)を使っていると、必ずぶつかる壁があります。今回は、私が実際に経験した課題と、AutoHotkeyへの移行で得られるメリットを解説します。
課題1:手戻りが多く、修正が困難
画面記録型RPAの問題点
画面記録型RPAでは、UIの微細な変更でも動作が止まってしまいます:
- ボタンの位置が少しずれた
- 文字サイズが変わった
- OSアップデートで画面描画が変わった
修正するには、またレコーディングからやり直し...これでは効率が悪すぎます。
AutoHotkeyでの解決策
; ウィンドウクラスベースの安定した操作
WinActivate, ahk_class Notepad
WinWaitActive, ahk_class Notepad,, 3
; 座標に依存しない操作
Send, ^o ; Ctrl+O でファイルを開く
WinWait, 開く,, 3
Send, C:\work\data.txt{Enter}
ポイント:
- ウィンドウクラスやタイトルで判定(座標依存なし)
- キーボードショートカット中心の操作
- テキストベースなので、修正・レビューが簡単
課題2:文書化とナレッジ共有の困難さ
画面記録型RPAの問題点
- フローは画像で記録されるため、「なぜその操作をするのか」が分からない
- 手順書作成に別途時間がかかる
- 引き継ぎ時に口頭説明が必要
AutoHotkeyでの解決策
; 月次売上データの自動集計
; 作成者:坂本 | 最終更新:2025-01-10
F1::
; 1. 元データフォルダから最新ファイルを取得
SourceFolder := "\\server\売上データ\月次"
Loop, %SourceFolder%\売上_*.xlsx {
if (A_LoopFileTimeModified > LatestTime) {
LatestFile := A_LoopFileFullPath
LatestTime := A_LoopFileTimeModified
}
}
; 2. Excelで集計テンプレートを開く
Run, "C:\work\templates\月次集計テンプレ.xlsx"
WinWait, Excel,, 10
; 3. データ取り込み処理
; (以下、具体的な処理が続く)
ポイント:
- コメントで処理の意図を記録
- Gitで変更履歴を管理
- テキストファイルなので検索・置換が簡単
課題3:ライセンス費用と端末制約
画面記録型RPAの問題点
- 1端末あたり年間数十万円のライセンス費
- 実行端末の制約(専用サーバーが必要等)
- チーム拡大時のコスト増大
AutoHotkeyでの解決策
- 無料:商用利用も含めて完全無料
- 軽量:通常のWindows PCがあれば動作
- 配布簡単:.ahkファイルをコピーするだけ
具体的な移行パターン例
Before:画面記録型RPA
- アプリケーション起動
- 座標(100, 200)をクリック
- 2秒待機
- キーボード入力「データ.xlsx」
- 座標(300, 400)をクリック
After:AutoHotkey
; より安定で保守しやすい形に
OpenDataFile() {
; アプリケーション起動(ウィンドウタイトルで判定)
Run, excel.exe
WinWait, Excel,, 10
if ErrorLevel {
MsgBox, Excelの起動に失敗しました
return false
}
; ファイルを開く(キーボードショートカット使用)
Send, ^o
WinWait, 開く,, 5
; ファイル名入力
SendRaw, C:\work\data.xlsx
Send, {Enter}
return true
}
まとめ:移行のメリット
- 保守性向上:テキストベースで修正・レビューが簡単
- コスト削減:ライセンス費用ゼロ
- チーム共有:Git管理でナレッジが蓄積
ただし注意点も:
- 初期学習コストは必要
- 複雑なUI操作は設計力が必要
- チーム全体のスキルアップが前提
次回は、具体的な移行手順とチェックリストを紹介します。
関連記事:
Udemy講座: 「画面操作型RPAからの移行ガイド」(企画中)では、WinActor/PADの具体的なフローをAHKに写像する手順を解説予定です。