SE歴20年の業務自動化術|SendTo・Selenium・AIエージェントまで

SE歴20年が教える業務自動化のコツ SendTo・PowerShell・Selenium・NotebookLM活用 プログラミング

2026.03.20 更新:コードレビューエージェントの進捗を更新(パイロット運用開始・簡素化の経緯を追記)、自動化テクニック比較表を追加

SEとして20年、同じ会社で働いている。この20年で「自分の仕事を自分で楽にする」ことだけは一貫して続けてきた。

大規模な業務改革ではない。SendToフォルダに自作ツールを入れる、PowerShellでパスを取得する、Seleniumで入力チェックを回す。どれも小さい。しかし小さいものが積み重なると、1日のうち30分から1時間は確実に浮く。年間にすれば200時間になる。

本記事では、筆者が実務で実際に使っている自動化テクニックを紹介する。華やかなツール紹介ではなく、「Windows標準の範囲内で動くこと」「管理者権限がなくても使えること」「Windows 10と11の両方で動くこと」という現場の制約下で生まれたものばかりだ。

本記事で紹介する自動化テクニック一覧

テクニック時短効果(目安)難易度必要スキル
SendToフォルダのカスタマイズ1日5〜10分なし(ショートカット配置のみ)
PowerShellでパス取得1日5〜10分低〜中PowerShell基礎
VBAモジュール自動エクスポート1回15〜30分VBA、Git基礎
Seleniumで入力チェック自動化月4時間中〜高Python、Selenium
NotebookLMでVBAデバッグ1回10〜30分VBA(読解力)
コーディング支援エージェント検証中プロンプト設計
コードレビューエージェント検証中プロンプト設計、レビュー知見

難易度「低」のSendToカスタマイズから順に紹介する。自分の業務で「面倒だ」と感じている作業に近いものから読み進めてほしい。

SendToフォルダのカスタマイズ|右クリックを自分専用にする

Windowsの「送る」メニューは、ファイルやフォルダを右クリックしたときに表示される。このメニューの実体は「shell:sendto」で開けるフォルダに入っているショートカットだ。ここに自作ツールのショートカットを置けば、右クリックから一発で任意の処理を実行できる。

筆者が登録しているのはパス取得ツールだ。ファイルやフォルダを「送る」だけで、そのフルパスをクリップボードにコピーする。手順書やチャットでパスを共有する場面は毎日ある。エクスプローラーのアドレスバーをクリックしてコピーしてもいいが、ファイル単位のパスが欲しい場面ではこちらの方が早い。

登録方法はシンプルで、Win+Rで「shell:sendto」を実行し、開いたフォルダにショートカットを置くだけだ。特別な権限は不要で、自分のユーザーフォルダ配下なので管理者権限も要らない。

PowerShellでSharePointのパスを一発取得する

SharePointのファイルをローカル同期している環境では、同期フォルダのパスにユーザー名が含まれる。たとえば「C:\Users\yamada\会社名\チーム名\ドキュメント」のような構成だ。これをそのままチームに共有しても、他のメンバーの環境ではパスが通らない。

PowerShellでユーザー固有の部分を環境変数に置換するスクリプトを作った。実行すると、ユーザー名の部分が「%USERPROFILE%」に置き換わった汎用パスがクリップボードに入る。これをチャットに貼れば、誰の環境でもそのまま使える。

やっていることは文字列の置換だけだが、毎日5回以上パスを共有する業務では効果が大きい。こうした「1回10秒の手間」を潰すことが、自動化の第一歩だと思っている。

Excel/Accessのモジュールを自動エクスポートする

VBAで業務ツールを開発していると、モジュールのバージョン管理が課題になる。Gitで管理したくても、VBAのコードはExcelファイルの中に格納されているため、そのままではdiffが取れない。

この問題を解決するために、カスタムスクリプトでExcelやAccessからVBAモジュールとシート情報を自動エクスポートする仕組みを作った。エクスポートしたテキストファイルをGit管理すれば、変更履歴が追える。

さらに、SpreadsheetCompareと連携させて2つのExcelファイルの差分を一発で表示する機能も追加した。レビュー時に「どこが変わったのか」を目視で確認する手間がなくなった。EUC(エンドユーザーコンピューティング)の開発では、こうした周辺ツールの整備が品質と保守性に直結する。

ExcelVBAの設計思想や効率化テクニックはこちら

Seleniumでメンバーの入力内容を自動チェックする

チームメンバーがWebシステムに入力したデータの整合性チェックを、Python+Seleniumで自動化している。以前は目視で確認していたが、件数が増えると見落としが出る。ブラウザを自動操作して入力内容を取得し、ルールに照らしてNGを検出する仕組みだ。

Seleniumを選んだ理由は単純で、チェック対象がブラウザ上のWebアプリケーションだからだ。APIがあればAPIを叩く方が早いが、レガシーなシステムではブラウザ操作しか手段がない場合がある。環境制約のなかで「動くもの」を作ることが現場では重要になる。

導入効果は明確で、月あたり約4時間の確認作業がほぼゼロになった。最初のスクリプト作成に半日かかったが、2ヶ月目で回収できている。

NotebookLMでVBAモジュールをデバッグする

GoogleのNotebookLMにVBAモジュールのソースコードを読み込ませて、不具合の原因調査に活用している。具体的には、エクスポートしたモジュールファイルをそのままアップロードし、「このモジュールで○○の処理が期待通りに動かない。原因を分析してほしい」と質問する。

NotebookLMの強みは、アップロードしたドキュメントの内容に基づいて回答する点だ。一般的な生成AIに長いコードを貼り付けるよりも、文脈を正確に把握してくれる。複数モジュール間の依存関係がある場合でも、関連ファイルをまとめて読み込ませれば横断的に分析してくれる。

ただし万能ではない。VBAの古い記法や、Excel特有のオブジェクトモデルに関しては誤った回答が返ることもある。最終的な判断は自分でやる必要がある。それでも「あたりをつける」速度は格段に上がった。

本業プロジェクトのメールをGASで自動集約し、NotebookLMで思考整理する手順は「GAS×NotebookLM実践記」で解説しています。

▶ 生成AI時代に求められるスキルの変化についてはこちら
【生成AI時代】必要・不要なスキルと若手教育の進め方

コーディング支援エージェントの構想|環境制約との戦い

現在取り組んでいるのが、コーディング支援エージェントの構築だ。目指しているのは、「VBAやPowerShellのコードを書く際に、環境制約を理解した上でアドバイスしてくれるAI」の実現だ。

環境制約は3つある。Windows標準の範囲内で完結すること、Windows 10と11の両方で動作すること、管理者権限がないこと。これらを満たさないコードは、いくら優れていても現場では使えない。一般的な生成AIにコードを書かせると、この制約を無視した回答が返ってくることが多い。

環境制約一覧:
① Windows標準機能のみ(外部ライブラリのインストール不可)
② Windows 10 / 11 両対応必須
③ 管理者権限なし(レジストリ変更・サービス登録不可)

現時点ではまだ完成していない。プロンプトに制約条件を組み込んだカスタム指示を作成し、テスト中だ。うまくいけば、チームメンバーが自分でツールを作る際のハードルが大幅に下がると考えている。完成したら別記事で詳しく書く予定だ。

コードレビューエージェント(パイロット運用中)

もう一つ取り組んでいるのが、コードレビューエージェントだ。メンバーが書いたVBAコードを読み込ませて、命名規則の違反、エラーハンドリングの漏れ、モジュール分割の不備などを自動で指摘する仕組みを目指している。

当初はNotebookLMにレビュー観点をまとめたドキュメントとコードを同時に読み込ませる形で運用していたが、レビュー観点の網羅や指摘の完全な抽出がどう調整しても期待通りに動作しなかった。プロジェクト固有のコーディング規約を守らせるのが特に難しく、AIのコンテキスト処理能力の限界を感じた。

そこで方針を切り替え、レビュー観点を絞った簡素版をパイロット運用している。DRY原則や命名規則などに絞り、他の観点は人間のレビュアーが補う分業体制にした。完全自動化は諦めたが、レビュアーが最初に目を通す前の「粗チェック」としては機能し始めている。

やりたいことを完全に実現するには、AIのスペックがもう一段上がる必要があると感じている。2026年3月時点では「要点を絞って使う」のが現実的な落としどころだ。レビューの質を均一化し、レビュアーの負担を減らすという方向性は変わらない。引き続き改善を進める。

よくある質問

管理者権限がないPCでも自動化はできますか?

はい、可能です。本記事で紹介しているSendToフォルダのカスタマイズ、PowerShellスクリプト、VBAモジュールのエクスポートはいずれもWindows標準機能の範囲内で動作し、管理者権限は不要です。

プログラミング未経験でも業務自動化を始められますか?

始められます。まずはSendToフォルダにショートカットを追加するだけの「右クリックカスタマイズ」から試してみてください。コードを書かなくても、自分の作業を1つ楽にする体験が自動化の第一歩になります。

NotebookLMでVBAのデバッグは本当に使えますか?

あたりをつける用途としては非常に有効です。モジュールファイルをアップロードして質問すると、バグの原因候補を提示してくれます。ただしVBA固有の古い記法やExcelオブジェクトモデルに関しては誤った回答もあるため、最終判断は自分で行う必要があります。

Windows 10と11の両方で動きますか?

本記事で紹介しているテクニックはすべてWindows 10とWindows 11の両方で動作確認済みです。OS標準機能のみを使用しているため、バージョン差による問題はほとんど発生しません。

年間200時間の削減効果は本当ですか?

筆者の実体験に基づく数値です。1つ1つの自動化で節約できるのは数十秒〜数分ですが、毎日繰り返す作業であれば1日30分〜1時間の短縮になり、年間に換算すると約200時間になります。

まとめ|自動化は「面倒くさい」から始まる

紹介した内容を振り返ると、どれも出発点は「面倒くさい」だった。パスをコピーするのが面倒、入力チェックが面倒、コードの差分確認が面倒。その「面倒」を1つずつ潰してきただけだ。

重要なのは、最初から大きな仕組みを作ろうとしないことだ。SendToにショートカットを1つ追加する。PowerShellで10行のスクリプトを書く。そこから始めて、必要に応じて拡張していく。この積み上げが20年の蓄積になった。

自動化のコツは「完璧を目指さない」こと。8割の精度で動くものを素早く作り、使いながら改善する方が結果的に早い。

環境制約がある中でも、Windows標準機能とPythonだけでかなりのことができる。管理者権限がなくても、外部ライブラリをインストールできなくても、工夫次第で業務は楽になる。「制約があるからできない」ではなく「制約の中で何ができるか」を考える方が、SEとしては生産的だと思っている。

2026.03.20 ─ コードレビューエージェントの進捗を更新(パイロット運用開始・簡素化の経緯を追記)、自動化テクニック比較表を追加
2026.02.17 ─ 初版公開

タイトルとURLをコピーしました