会社にRPAがある。でも、自分の業務だけは手作業が残り続ける。
勤怠データをシステムからダウンロードして、所定のフォルダに保存して。集計用のExcelに貼り付けて——。一つひとつは大した作業ではない。でも毎月必ず発生する。締め日の前後は特に忙しいのに。この作業だけは手を止めて対応しなければならありません。
まず、私もずっとそうでした。しかも、うちの会社にはRPAがある。にもかかわらず、私の業務だけは手作業が残り続けていた。
この記事は。その状況を打開するためにRaspberryPiとPythonをゼロから触り。数週間詰み続けながら自作RPAを完成させるまでの記録です。生成AIがなかった時代の話です。
RPA導入、それでも残る私の手作業
数年前、本社の情報システム部がグループ全社に向けてBizRobo!を導入した。
次に、導入にあたって、各事業会社からITに強そうな人間が選抜された。グループ全体で40〜50名が研修を受け。最終的に情報システム部が実施する技能検定に合格したのはグループ全体で約20名。私が所属する事業会社からは5〜6名が合格し。それぞれ自社の業務に合わせたロボを自作・運用し始めた。
私はその流れに乗り、「毎月の勤怠データ収集を自動化できないか」と相談した。
返ってきた答えは、「このシステムには対応できません」だった。
一方で、BizRobo!は万能ではない。対応できるシステムと、できないシステムがある。私が使っているクラウド勤怠管理サービスは、後者だった。
会社にはRPAがある。同僚の業務はどんどん自動化されている。でも自分の手作業だけが残り続ける。この理不尽さをどうしたらいいか、しばらく考えあぐねていた。
ラズパイで自作:私物利用の葛藤
RPAがダメなら、自分で作るしかありません。
そのため、そう決意したとき、頭に浮かんだのがRaspberryPiだった。
実は少し前に、社内のBGM用として音楽サーバーを作ろうとしたことがあった。Volumioというメディアサーバーソフトをインストールして。ネットワーク越しに音楽を再生する仕組みを個人的に作ったのです。そのときにRaspberryPiの存在を知り。「小さいのに意外といろいろできる」という印象を持っていた。
常時起動させたいが、会社のPCを占有するわけにはいかない。かといって自分のPC上で動かすと、PCの電源を落としたときに止まってしまう。RaspberryPiなら小さく、静かで、電力消費も少ない。スペース的にも置きやすい。
しかし、ただし、これは完全な私物です。本来、私物の機器を社内ネットワークに繋ぐのは憚られる。会社のルール的にもグレーゾーンだと思っている。それでも背に腹は代えられなかった。「手作業が毎月続く」という現実の方が、私にとっては大きな問題だった。
ラズパイ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カード破損の悪夢と対策
ようやくコードが動くようになった。テストも通った。よし、本番運用だ——と思ったタイミングで。RaspberryPiがうんともすんともいわなくなったことがある。
一方で、原因はマイクロSDカードの破損だった。
RaspberryPiはシステムをマイクロSDに保存している。書き込みが頻繁に発生する環境では、安価なSDカードはすぐに壊れる。これを2回経験した。
届くはずの自動収集レポートが来ない。嫌な予感がしてSSHを叩いてみると。返ってきたのは「Connection timed out」の文字だった。本体を確認すると、アクセスランプが不気味に点灯したまま固まっている。強制再起動してもモニターに映し出されたのは、動かない虹色の四角形だけ。数ヶ月かけて組んできたPython環境が、一瞬で消えた。スクレイピングのコードも、安定させたcronの設定も。
全部あのSDカードの中です。最後にGitへプッシュしたのがいつだったか——思い出そうとするほど。背筋に嫌な汗が伝っていくのがわかった。
💡 ここで一度立ち止まって考えてみてください
Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。現役エンジニアのサポートで、未経験から実践的なスキルを身につけられます。
稼働安定化と高頻度処理の理由
そのため、2回目の破損のあと、信頼性の高いSDカードに買い替えた。それ以降は一度も壊れていありません。

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

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

