会社にはRPAが導入されています。ですが、自分の業務だけは手作業が残り続けていました。
勤怠データをシステムからダウンロードし、所定のフォルダに保存する。集計用のExcelに貼り付ける——。一つひとつは大した作業ではないかもしれません。でも、毎月必ず発生します。締め日の前後は特に忙しいのに、この作業だけは手を止めて対応しなければなりませんでした。
まず、私もずっとそうでした。しかも、うちの会社にはRPAがあるにもかかわらず、私の業務だけは手作業が残り続けていたのです。
この記事は、その状況を打開するためにRaspberry PiとPythonをゼロから触り、数週間つまずき続けながら自作RPAを完成させるまでの体験記です。生成AIがなかった時代の話として読んでいただければ幸いです。
RPA導入、それでも残る私の手作業
数年前、本社の情報システム部がグループ全社に向けてBizRobo!を導入しました。
導入にあたっては各事業会社からITに強そうな人間が選抜され、グループ全体で40〜50名が研修を受けました。最終的に情報システム部が実施する技能検定に合格したのは約20名です。私が所属する事業会社からは5〜6名が合格し、それぞれ自社の業務に合わせたロボを自作・運用し始めました。
私はその流れに乗り、「毎月の勤怠データ収集を自動化できないか」と相談しました。
しかし、返ってきた答えは「このシステムには対応できません」というものでした。
BizRobo!は素晴らしいツールですが、万能ではありません。対応できるシステムと、どうしても難しいシステムがあるようです。私が使っているクラウド勤怠管理サービスは、後者でした。
会社にはRPAがあるのに、同僚の業務はどんどん自動化されているのに、自分の手作業だけが残り続ける。この理不尽さをどうしたらいいのか、しばらく考えあぐねていました。
ラズパイで自作:私物利用の葛藤
RPAがダメなら、自分で作るしかありません。
そう決意したとき、頭に浮かんだのがRaspberry Piでした。
実は少し前に、社内のBGM用として音楽サーバーを作ろうとしたことがありました。Volumioというメディアサーバーソフトをインストールして、ネットワーク越しに音楽を再生する仕組みを個人的に作ったのです。そのときにRaspberry Piの存在を知り、「小さいのに意外といろいろできる」という印象を持っていました。
常時起動させたいけれど、会社のPCを占有するわけにはいきません。かといって自分のPC上で動かすと、電源を落としたときに止まってしまいます。Raspberry Piなら小さく、静かで、電力消費も少なく、スペース的にも置きやすそうでした。
しかし、これは完全な私物です。本来、私物の機器を社内ネットワークに繋ぐのは憚られます。会社のルール的にもグレーゾーンだと感じていました。それでも背に腹は代えられませんでした。「手作業が毎月続く」という現実の方が、私にとっては大きな問題だったからです。
ラズパイOSの壁:初期設定とフォルダ共有
OSはRaspberry Pi OSを選びました。箱を開けた瞬間、「これ、何をどうすればいいんでしょうか」という状態からのスタートでした。

メインの操作はRealVNCを使ったリモートデスクトップで行いました。PCの画面からRaspberry PiのデスクトップをGUI操作できるので、慣れてからは非常に使いやすかったです。最初の環境構築段階ではSSHも活用しました。
さらに、最初に壁となったのはRaspberry Pi OSとWindowsのフォルダ共有です。SMB(Samba)を使えばWindowsのネットワークドライブとしてマウントできる——とネットには書かれています。でも設定ファイルの書き方や権限の設定、パスの指定……ひとつでも間違うと繋がらず、何が悪いのかもわからないまま、同じことを何度も繰り返しました。
Sambaユーザー登録の盲点とPython自動化の難航
設定ファイルを書き直し、再起動を繰り返し、chmod 777まで試しても繋がりませんでした。5時間ほど迷走した末に、海外フォーラムの一行に目が止まりました。「SambaのDBにユーザー登録したか?」——OSのユーザーとは別に、Samba専用のパスワード登録(sudo smbpasswd -a pi)が必要だったのです。その一行を打った瞬間、あっけなくフォルダが開きました。Windowsからファイルを放り込めたあの快感は本物でしたが、「あの5時間は何だったのか」という脱力感も同じくらい強烈でした。
次に、本丸であるPythonのコードを書きました。やりたいことを整理すると、このような流れです。
- Pythonでクラウド勤怠管理サービスにログインする
- CSVのダウンロードボタンを押す(=ダウンロード予約をする)
- システム内で集計が完了したら、ダウンロードリンク入りのメールが自動送信される
- PythonがそのメールからURLを読み取り、CSVをダウンロードする
一見シンプルですが、2番目の工程でいきなり行き詰まってしまいました。
反応しないボタンをURLで再現
ダウンロードボタンをXPathで押そうとしても、なぜか反応しませんでした。何度試してもダメだったので、発想を変えることにしました。「ボタンを押した後に表示されるURLと同じ文字列を自分で構築して、そこに直接アクセスすればいいのでは?」——ボタンを押したのと同じ状態をURLで再現する、という力技です。これがようやく功を奏しました。
自動化の格闘、単純な突破とAIの力
XPathをいじり倒して3日。コンソールを赤いエラーで埋め尽くしながら、金曜の深夜に「このまま手動クリックし続けるしかないのか」と本気で思い始めていました。半ばやけくそで開発者ツールのNetworkタブをぼんやり眺めていたとき、手動でダウンロードした瞬間に走った一行の簡素なリクエストが目に入りました。末尾の数字が1ずつ増えるだけの、素朴なURL。——なんです。これだけか。
ボタンを「押す」必要など、端からなかったのです。URLの連番を叩くスクリプトを走らせたら、3日間の格闘が嘘みたいに5分で終わりました。UIの挙動に囚われすぎて、もっと単純な裏口を見落としていたようです。窓の外が白み始めるなか、虚しさと、それを上回る達成感が同時に込み上げてきました。
次に、4番目のメール本文からのURL抽出も一筋縄ではいきませんでした。添付ファイルではなく、メール本文の中にURLが埋め込まれているため、文字列の抽出やエンコードの問題、URLの形式のゆらぎ……ここだけでも何日も費やしました。
当時はChatGPTもClaudeもありませんでした。ひたすらStack OverflowとQiitaを読み続けたものです。今なら生成AIに聞けばすぐに解決できる問題を、ひと月近くかけて解いていたのだと思うと感慨深いです。
ラズパイSDカード破損の悪夢と対策
ようやくコードが動くようになり、テストも通りました。よし、本番運用だ——と思ったタイミングで、Raspberry Piがうんともすんともいわなくなったことがあります。
原因はマイクロSDカードの破損でした。
Raspberry PiはシステムをマイクロSDに保存しています。書き込みが頻繁に発生する環境では、安価なSDカードはすぐに壊れてしまうようです。これを2回も経験しました。
届くはずの自動収集レポートが来ず、嫌な予感がしてSSHを叩いてみると「Connection timed out」の文字。本体を確認すると、アクセスランプが不気味に点灯したまま固まっていました。強制再起動してもモニターに映し出されたのは、動かない虹色の四角形だけ。数ヶ月かけて組んできたPython環境が一瞬で消えました。スクレイピングのコードも、安定させたcronの設定も、全部あのSDカードの中です。最後にGitへプッシュしたのがいつだったか——思い出そうとするほど、背筋に冷や汗が伝っていくのがわかりました。
VBA・Pythonをもっと本格的に学ぶなら
VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。
稼働安定化と高頻度処理の理由
2回目の破損のあと、信頼性の高いSDカードに買い替えました。それ以降は一度も壊れていません。

完成した仕組みは、1日に8回程度、毎日自動で動いています。
頻繁に回すのには理由があります。ひとつは月初の締め処理期間です。数百人の作業員が都度打刻・確定してくるため、CSVダウンロードの仕組み上、リアルタイムでの把握ができません。頻度を上げることで、できるだけ最新状態に近づける必要があるからです。もうひとつは日々の打刻チェックです。前月分がメインですが、その日その日の打刻が正しく入力されているかを日次で確認しています。
具体的な処理の流れは次の通りです。
ラズパイ勤怠CSV自動取得と加工
- Pythonがクラウド勤怠管理サービスにログイン
- CSVダウンロードボタンに相当するURLを構築してアクセスし、ダウンロード予約を実行
- システム内で集計が完了すると、ダウンロードリンク入りのメールが自動送信される
- PythonがメールのURLを読み取り、CSVを自動ダウンロード
- SMB経由で共有されたWindowsの所定フォルダに自動保存
- ExcelVBAが素のCSVを加工——社員番号をキーに所属部署名を付加する(素のCSVには部署名が含まれないため)
6番目のVBA加工がなければ、ダウンロードしたCSVには「Aさんが〇〇拠点で何時に打刻した」という情報しか含まれません。「Aさんが営業3課の所属です」という情報と社員番号を突合して初めて、実務で使えるデータになるのです。
これが完成してから4〜5年が経ちます。Raspberry Piはずっと社内の片隅で静かに動き続けています。
Python初体験と確信の芽生え
正直に言うと、このときまでPythonをまともに書いたことはありませんでした。Raspberry Pi OSのLinux環境も、RealVNCも、SMBも、すべてここで初めて触れました。
数週間つまずき続けながらも、動くものが完成したとき、「ゼロから作れる」という確信が生まれました。これが後にVBAからPythonへ移行するときの土台になりました。Arc4シリーズで書いたChromeDriverの配布地獄を抜け出せたのも、このときPythonと仲良くなっていたからだと思っています。
生成AIがある今なら、この仕組みは数時間で完成するでしょう。当時のあの数週間は何だったんだろうと思うこともあります。でも同時に、あの泥臭い時間がなければ今の自分はなかったとも感じます。
次回は、「同じくBizRobo!が使えなかった」状況で、今度は生成AIを使ったら何が変わったのかについて書く予定です。ビフォーアフターを体験した人間として、数字で語れる話があると考えています。
ラズパイ自動化でブレイクスルー
深夜、机の隅に置かれた手のひらサイズのRaspberry Pi。その小さな緑のLEDがチカッと瞬いた瞬間、ブレイクスルーが起きました。Pythonが勤怠システムにログインしてCSVの出力を叩き、数分後には生成完了のメールを受信して自動取得する。SMB経由で共有フォルダに投げ込まれると、待機していたExcelのVBAが走り出し、部署名がきれいに付与された実務データが完成します。
まるで最初からそこにあったかのように生成されていた光景は、今でも忘れられません。クラウド・メール・Windows・Excel——それぞれバラバラのシステムが、数千円の小さな基板を起点にしてピタゴラスイッチのように繋がっていくのです。高価なツールなんてなくても、自分の分身はゼロから作れる。この夜を境に、「ただの作業者」から仕事をハックする側へ回れたような気がしました。
自作RPAがもたらした自己変革
Raspberry PiとPythonで自作RPAを完成させたこの経験は、単に目の前の作業を自動化しただけに留まらない、大きな変化を私にもたらしてくれました。それまで「システムにできない」と言われたら、諦めるしかないと思っていました。ITは専門家の領域で、自分のような文系の事務職には関係のない世界だと考えていたのです。
しかし、数週間泥臭く格闘し、何度も心が折れそうになりながらも、最終的に自分の手で業務を自動化できたことはまさに衝撃でした。「自分にもできるんだ」という、それまで持ったことのない確信が生まれたのです。この成功体験は、その後の仕事への向き合い方を大きく変えるきっかけになりました。
作れる」喜び、業務自動化で得た達成感
以前は「この作業は無駄だな」「もっと効率的にできないか」と思っても、具体的なアクションに移す方法がわかりませんでした。しかし、一度「自分で作れる」ことを知ってしまうと、あらゆる手作業が自動化の対象に見えるようになったのです。会社にある既存システムで対応できないなら、自分で何とかできないかと考えるようになりました。

もちろん、このRaspberry PiによるRPAが社内で大々的に評価されたわけではありません。誰もがその裏側で何が動いているかを知っているわけでもないでしょう。しかし、私の中では、毎日発生していた締め日前のルーティン作業が消え、その分の時間を他の業務に充てられるようになったという確かな成果がありました。何よりも、自分の業務を自分で改善できたという達成感は、何物にも代えがたいものでした。
プログラミング成功体験とキャリア転換
この経験は、プログラミングやITに対する苦手意識を完全に払拭してくれました。それまでは「プログラミングは難しい」「文系には無理」という漠然とした思い込みがあったのですが、ゼロから始めても形にできることを身をもって知ったのです。これは、その後の私のキャリアパスやスキルアップの方向性を決定づける、非常に重要な転換点となりました。
この成功体験をきっかけに、私はPythonの学習を本格的に深めるようになりました。Webスクレイピングやデータ処理の知識をさらに習得し、Excel VBAでは難しかった複雑なデータ連携やレポート作成にも挑戦できるようになりました。Arc4シリーズで経験したChromeDriverの配布問題も、Pythonの知識があったからこそ、より柔軟な解決策を模索できたのだと思います。
探求の原点と広がる自動化
また、Pythonだけでなく、Power BIやGoogle Apps Scriptといった他の自動化ツールやデータ分析ツールにも関心を持つようになりました。自分の業務をより効率的・効果的にするためにどのような技術が使えるのか、常にアンテナを張るようになったのです。この探求心は、今も私の仕事の原動力となっています。
「プログラミングのプの字も知らなかった完全文系の事務職」だった私が、自分の手で業務を自動化し、さらにその経験を活かしてスキルアップを継続できているのは、あの「生成AIがなかった時代」に、泥臭くRaspberry PiとPythonに向き合った数週間があったからだと心から感じています。あの時の苦労が、今の私を形作っているのだと思っています。
関連リンクとチェックリスト
無料プレゼント
Excel業務を自動化する前に確認するチェックリスト(PDF)
自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。
無料でチェックリストを受け取る¥980 ミニキット
コピペで動かせる3スクリプト+自動化チェックリスト
最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。
ミニキットを見る(¥980)著者はこうして解決の糸口を見つけた
著者も同じ境遇から始まりました。独学でここまで自動化した道のりを参考にしてみてください。
学習サービスとアンケート
このスキルを活かしてさらに前へ進むなら
Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

