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(エンドユーザーコンピューティング)の開発では、こうした周辺ツールの整備が品質と保守性に直結する。
Seleniumでメンバーの入力内容を自動チェックする
チームメンバーがWebシステムに入力したデータの整合性チェックを、Python+Seleniumで自動化している。以前は目視で確認していたが、件数が増えると見落としが出る。ブラウザを自動操作して入力内容を取得し、ルールに照らしてNGを検出する仕組みだ。
Seleniumを選んだ理由は単純で、チェック対象がブラウザ上のWebアプリケーションだからだ。APIがあればAPIを叩く方が早いが、レガシーなシステムではブラウザ操作しか手段がない場合がある。環境制約のなかで「動くもの」を作ることが現場では重要になる。
導入効果は明確で、月あたり約4時間の確認作業がほぼゼロになった。最初のスクリプト作成に半日かかったが、2ヶ月目で回収できている。
Python×業務自動化の基本から実践例までを体系的に学びたい方には、以下の書籍がおすすめです。筆者もSelenium導入時に参考にしました。
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 両対応必須
③ 管理者権限なし(レジストリ変更・サービス登録不可)
現時点ではまだ完成していない。プロンプトに制約条件を組み込んだカスタム指示を作成し、テスト中だ。うまくいけば、チームメンバーが自分でツールを作る際のハードルが大幅に下がると考えている。完成したら別記事で詳しく書く予定だ。
AIコーディング支援の活用が広がる中で、使い方次第でスキル形成に3.6倍の差がつくことがAnthropicの研究で示されている。AI時代のキャリア設計と行動指針も参考にしてほしい。
コードレビューエージェント(パイロット運用中)
もう一つ取り組んでいるのが、コードレビューエージェントだ。メンバーが書いたVBAコードを読み込ませて、命名規則の違反、エラーハンドリングの漏れ、モジュール分割の不備などを自動で指摘する仕組みを目指している。
当初はNotebookLMにレビュー観点をまとめたドキュメントとコードを同時に読み込ませる形で運用していたが、レビュー観点の網羅や指摘の完全な抽出がどう調整しても期待通りに動作しなかった。プロジェクト固有のコーディング規約を守らせるのが特に難しく、AIのコンテキスト処理能力の限界を感じた。
そこで方針を切り替え、レビュー観点を絞った簡素版をパイロット運用している。DRY原則や命名規則などに絞り、他の観点は人間のレビュアーが補う分業体制にした。完全自動化は諦めたが、レビュアーが最初に目を通す前の「粗チェック」としては機能し始めている。
やりたいことを完全に実現するには、AIのスペックがもう一段上がる必要があると感じている。2026年3月時点では「要点を絞って使う」のが現実的な落としどころだ。レビューの質を均一化し、レビュアーの負担を減らすという方向性は変わらない。引き続き改善を進める。
よくある質問
- Q管理者権限がなくても自動化できますか?
- A
はい、本記事で紹介しているSendToフォルダのカスタマイズ、PowerShellスクリプト、VBAエクスポートなどは管理者権限なしで実行可能です。ソフトウェアのインストールが不要な手法を中心に選定しているため、会社の制限が厳しい環境でもすぐに始められます。
- Qプログラミング未経験でも取り組めますか?
- A
最も簡単なSendToフォルダのショートカット追加はスキル不要で、右クリック操作だけで設定できます。難易度が低いものから順に取り組めば、自然とPowerShellやVBAの基礎も身についていきます。各手法には難易度と必要スキルを明記しているので、自分のレベルに合ったものから始めてください。
- QNotebookLMをVBAデバッグに使うのは信頼できますか?
- A
デバッグの「ヒント出し」としては非常に有用で、1回あたり10〜30分の時間短縮が見込めます。ただしAIの提案をそのまま適用するのではなく、最終判断は必ず自分で行ってください。NotebookLMの具体的な活用例はNotebookLM活用術の記事で詳しく紹介しています。
- QWindows 10と11の両方で動作しますか?
- A
はい、本記事で紹介しているすべての手法はWindows 10および11で動作確認済みです。SendToフォルダの場所やPowerShellのバージョンに若干の違いがありますが、記事内の手順に沿えばどちらのOSでも問題なく設定できます。
- Q年間200時間削減は本当に達成できますか?
- A
筆者の実体験に基づく数値で、日々30〜60分の小さな作業短縮を積み重ねた結果です。すべての手法を一度に導入する必要はなく、まずSendToカスタマイズやクリップボード履歴など簡単なものから始めて、効果を実感しながら徐々に追加していくのがおすすめです。Excel効率化との組み合わせについてはExcel効率化Tips記事もあわせてご覧ください。
Claude Codeにはターミナル内で機能を学べるチュートリアルコマンドも搭載されている。Hooksやヘッドレスモードの使い方を体系的に把握したい方はClaude Code /powerup入門を参照してほしい。
まとめ|自動化は「面倒くさい」から始まる
紹介した内容を振り返ると、どれも出発点は「面倒くさい」だった。パスをコピーするのが面倒、入力チェックが面倒、コードの差分確認が面倒。その「面倒」を1つずつ潰してきただけだ。
重要なのは、最初から大きな仕組みを作ろうとしないことだ。SendToにショートカットを1つ追加する。PowerShellで10行のスクリプトを書く。そこから始めて、必要に応じて拡張していく。この積み上げが20年の蓄積になった。
自動化のコツは「完璧を目指さない」こと。8割の精度で動くものを素早く作り、使いながら改善する方が結果的に早い。
環境制約がある中でも、Windows標準機能とPythonだけでかなりのことができる。管理者権限がなくても、外部ライブラリをインストールできなくても、工夫次第で業務は楽になる。「制約があるからできない」ではなく「制約の中で何ができるか」を考える方が、SEとしては生産的だと思っている。
2026.03.20 ─ コードレビューエージェントの進捗を更新(パイロット運用開始・簡素化の経緯を追記)、自動化テクニック比較表を追加
2026.02.17 ─ 初版公開


