Back to Blog
development·

Claude Code × 情シス・社内SE|レガシーVBA移行からベンダーロックイン脱却まで

情シス・社内SEチーム向けにClaude Codeの実践活用手法を解説。野良VBAのPython移行、ベンダーロックされたシステムのドキュメント化、社内ツールの内製化、そしてプログラミング未経験者でも始められる学習コスト最小化アプローチまで、現場レベルの知見を共有します。

#Claude Code#Claude Code 業界#情シス#社内SE
Claude Code × 情シス・社内SE|レガシーVBA移行からベンダーロックイン脱却まで

情シス・社内SEの仕事は「守備範囲の広さ」と「使える時間の少なさ」の矛盾で成り立っています。ヘルプデスク対応、ネットワーク管理、セキュリティ運用、ベンダー調整——これらをこなしながら、「このExcelマクロ動かなくなったんだけど」「新しい承認フローのツール作れない?」という依頼が毎週のように降ってきます。開発が本業ではないのに開発を求められる。この構造的な矛盾に対して、Claude Codeは現実的な解を提供できます。

本記事では、情シス・社内SEがClaude Codeで実現できる4つの活用シナリオを解説します。ベンダーロックされたシステムのドキュメント化、野良VBAのPython移行、社内ツールの内製化、そしてプログラミング経験が浅い担当者でも始められる学習コスト最小化のアプローチまで、実務に落とし込める粒度で踏み込みます。

情シスが抱える4つの構造的課題

情シスの問題は「技術力が足りない」のではなく「技術力を発揮する時間がない」ことです。

課題1: ベンダーロックインからの脱却が進まない

業務システムの大半がSIerやパッケージベンダーに委託して構築されています。軽微な改修——画面のラベル変更、CSV出力のカラム追加、メール通知の条件変更——こうした作業でも見積もり依頼→発注→実装→検収のサイクルに1〜3か月かかります。年間の外注費を集計すると、ちょっとした改修だけで数百万円が消えているケースも珍しくありません。

問題の本質: ベンダーが構築したシステムの仕様を情シス側が理解できていないため、自分たちで手を入れることができない。仕様書は古いか存在しないか、読んでもコードとの整合性が不明。

課題2: 野良VBAの増殖と属人化

Excelマクロ(VBA)で構築された業務ツールが社内に散在しています。作成した担当者が異動・退職した後、誰もメンテナンスできない「野良VBA」になる。業務に組み込まれているため止められないが、Excel のバージョンアップで動かなくなるリスクを常に抱えています。

典型的な状況:

  • 経理部門の月次集計マクロ: 作成者退職、仕様不明、Excel 2016でしか動作しない
  • 営業部門のレポート生成マクロ: 4名が独自にカスタマイズし、4つのバージョンが共有フォルダに共存
  • 人事部門の勤怠計算マクロ: ロジックが複雑で、法改正への対応が不可能な状態

課題3: 社内からの「ちょっとしたツール」の要望

「基幹システムから出力されたCSVを別のフォーマットに変換できないか」「毎月この手順で手動実行しているレポートを自動化できないか」——ベンダーに依頼するほどの規模ではないが、手作業では毎回30分〜1時間かかる。こうした「ちょっとしたツール」の要望が積み上がっています。

課題4: 学習時間の確保が困難

新しいツールや技術を学ぶ時間を業務時間内に確保するのは難しい。Claude Codeの導入自体に数週間の学習が必要であれば、日常業務を回しながらの導入は現実的ではありません。

活用シナリオ1 — ベンダーロックされたシステムのドキュメント化

ベンダーが構築したシステムのソースコードをClaude Codeに読ませて仕様を理解する——これが情シスにとって最もリスクが低く、ROIの高い活用法です。

なぜ「読む」ことが最優先なのか

ベンダーへの依存を脱却するための第一歩は、システムの仕様を自分たちで理解することです。仕様を理解していない状態で改修に手を出せば、予期しない不具合を引き起こすリスクがあります。一方、コードを「読む」だけであれば、既存システムに一切の変更を加えないため、リスクはゼロです。

Claude Codeで読み取れること

ベンダーから納品されたソースコード(Java、C#、PHP、VB.NET等)をClaude Codeに読み込ませると、以下の情報が自然言語で出力されます。

処理フローの日本語化: 「このファイルは受注データを基幹DBから取得し、PDF形式の請求書を生成して、指定フォルダに保存する処理を行っています」——このレベルの説明が、ファイルごとに得られます。

データベース操作の一覧化: どのテーブルに対して、どのようなCRUD(作成・読取・更新・削除)が行われているかをテーブル形式で整理。改修の影響範囲を把握する基礎資料になります。

設定値の影響範囲の特定: 「この設定ファイルのこのパラメータを変更すると、どの処理に影響するか」を逆引きで調査。ベンダーに聞くまでもない軽微な設定変更を自分たちで判断できるようになります。

エラーハンドリングの一覧化: エラー発生時にどのような処理が行われるか(ログ出力、メール通知、リトライ、処理中断)を一覧化。障害対応時の初動判断に役立ちます。

Before/After

Before: ベンダーに「この画面でエラーが出るのですが、原因を調査してください」と依頼。見積もり返答に3営業日、調査に5営業日、報告書に2営業日。合計10営業日、費用30万円。

After: Claude Codeにエラーが発生したモジュールを読ませ、エラーハンドリングのフローと条件を確認。原因の仮説を30分で立て、設定値の変更で解決できることを特定。ベンダーへの確認を最小限に抑え、1〜2営業日で解決。

ベンダーロックされた業務システムのソースコードをClaude Codeで読み解く

活用シナリオ2 — 野良VBAのPython移行

VBAからPythonへの移行は、Claude Codeが最も高い精度を発揮する変換タスクの一つです。

移行が必要な理由

VBAで構築された業務ツールをそのまま使い続けるリスクは年々高まっています。

  • Microsoft 365への移行: デスクトップ版Excelでしか動かないVBAが、Microsoft 365環境で互換性問題を起こす
  • 属人化リスク: 作成者が不在のVBAは改修できない
  • セキュリティリスク: マクロを含むファイルは、セキュリティポリシー上の制約を受けるケースが増加

段階的な移行ワークフロー

ステップ1: VBAの仕様把握(Claude Codeで自動化)

VBAコードをClaude Codeに読み込ませ、以下を自動生成します。

指示例: 「このVBAマクロの処理内容を日本語で説明してください。
入力データ・出力データ・処理の流れ・依存するExcelシートを整理してください。」

出力例:

  • 入力: 売上管理シートのA列〜G列(日付、顧客名、商品名、数量、単価、金額、備考)
  • 処理: 月次集計(顧客別・商品別)、前年同月比計算、グラフデータ生成
  • 出力: 月次レポートシートに集計結果を出力、PDFとして保存
  • 依存: マスタシートの顧客一覧、商品一覧

ステップ2: Pythonコードの生成(Claude Codeで自動化)

VBAの処理内容を等価なPythonコードに変換します。Claude Codeは、pandas(データ処理)、openpyxl(Excelファイル操作)、matplotlib(グラフ生成)などのライブラリを使った変換を得意としています。

# 移行用のCLAUDE.md

## VBA→Python移行ルール
- Excelファイルはopenpyxlまたはpandasで読み書きする
- 日付処理はdatetimeモジュールを使用する
- ファイルパスはpathlibを使用する
- 出力ファイルはUTF-8エンコーディングで保存する
- エラー時はログファイルに記録し、処理を中断する
- 設定値(ファイルパス、シート名等)はconfig.yamlで外部化する

ステップ3: 動作検証(Claude Codeで半自動化)

VBAの出力結果とPythonの出力結果を突き合わせるテストコードもClaude Codeに生成させます。同じ入力データに対して同じ出力が得られることを検証します。

指示例: 「VBA版とPython版で同じ入力データを処理し、
出力結果が一致することを確認するテストスクリプトを生成してください。
比較対象: 集計結果の数値(小数第2位まで)、日付のフォーマット、セルの位置。」

移行の優先順位づけ

すべての野良VBAを一度に移行する必要はありません。以下の基準で優先順位をつけます。

優先度条件
業務に不可欠 + 作成者不在 + Excel互換性問題あり月次決算集計マクロ
業務に使用中 + 複数バージョンが共存営業レポート生成マクロ
使用頻度が低い + 代替手段がある一時的な集計ツール

活用シナリオ3 — 社内ツールの内製化

ベンダーに外注するほどではない「ちょっとしたツール」を、Claude Codeで内製する。所要時間は半日〜1日。

内製化に適したツールの特徴

以下の条件を満たすツールは、Claude Codeによる内製に適しています。

  • 処理がシンプル: 入力→変換→出力の一方通行の処理
  • ユーザーが限定的: 情シス部門内、または特定の部門のみが使用
  • GUIが不要: コマンドラインまたはスケジュール実行で十分
  • 外部システムとの連携が軽微: API呼び出し1〜2件程度

内製化の実例

実例1: CSVフォーマット変換ツール

基幹システムから出力されたCSV(Shift_JIS、固定長)を、クラウドサービスの入力形式(UTF-8、カンマ区切り)に変換。

Claude Codeへの指示例:
「以下の仕様でCSV変換スクリプトをPythonで作成してください。
入力: input/ フォルダ内の.csvファイル(Shift_JIS、固定長フォーマット)
出力: output/ フォルダにUTF-8、カンマ区切りのCSVとして保存
変換ルール:
- 1列目(社員番号): 先頭の0埋めを除去
- 3列目(日付): YYYYMMDD → YYYY-MM-DD に変換
- 5列目(金額): カンマ区切りを除去し整数に変換
- ヘッダー行を英語に変換(社員番号→employee_id, ...)
エラー処理: 不正な行はスキップし、エラーログに記録する」

所要時間: 約1時間(生成30分 + テスト・調整30分) 外注した場合: 見積もり3営業日 + 実装5営業日 + 検収2営業日 = 約10営業日、費用20〜40万円

実例2: 定期レポート自動生成

毎月初に、前月の社内システム利用状況をDBから取得し、Excelレポートとして出力。

Claude Codeへの指示例:
「以下の仕様で月次レポート生成スクリプトをPythonで作成してください。
データソース: PostgreSQL(接続情報はconfig.yamlから読み込む)
SQLクエリ: 前月のログインユーザー数、機能別利用回数、エラー発生件数
出力: reports/YYYYMM_monthly_report.xlsx
レイアウト: サマリーシート + 日別推移シート + エラー詳細シート
スケジュール実行: crontab設定の例もコメントに含める」

実例3: Slack通知ボット

社内の承認申請フォーム(Google Forms)が送信されたら、承認者にSlack通知を送る。

Claude Codeへの指示例:
「Google Forms の回答がスプレッドシートに追加されたら、
Slack WebhookでメッセージをPOSTするGoogle Apps Scriptを作成してください。
通知先: #approval-requests チャンネル
メッセージ内容: 申請者名、申請種別、申請日時、スプレッドシートへのリンク
エラー処理: Webhook送信失敗時はスプレッドシートのログシートに記録」

情シスが内製化するべき社内ツールの具体的なパターンと実装アプローチ

学習コスト最小化 — 「まず触る」ための最短パス

Claude Codeの利用に必要な前提知識は3つだけ。半日で基本操作を習得できます。

必要な前提知識

スキル必要なレベル習得目安
ターミナル操作cd, ls, cat ができれば十分1時間
Gitの概念commit, push, pull, branchの意味がわかれば十分2時間
Claude Codeの対話日本語で指示を出すだけ30分

「まず触る」ための手順

Day 1(午前): インストールと初回起動 Claude Codeのインストールガイド に従って環境を構築し、簡単な質問を投げてみます。「Hello World」的な使い方で操作に慣れます。

Day 1(午後): 既存ファイルを読ませる 自分の担当する業務システムのソースコードを1ファイル選び、「このファイルの処理内容を日本語で説明してください」と指示。コードを変更せず、読み取りだけを行います。

Day 2: 小さなツールを作る 日常業務で手作業で行っている作業を1つ選び、Claude Codeに自動化スクリプトの作成を依頼。CSV変換やファイル整理など、シンプルな処理から始めます。

Day 3以降: 実務に組み込む VBAの読解、ベンダーシステムのドキュメント化など、実際の業務課題に適用していきます。

CLAUDE.mdは情シスにも有効

プログラミング経験が浅い情シスでも、CLAUDE.mdを書いておくことで出力品質が安定します。

# CLAUDE.md(情シス社内ツール開発)

## 出力言語
- コード内のコメントは日本語で記述する
- 変数名は英語(ローマ字禁止)
- エラーメッセージは日本語で出力する

## 実行環境
- Python 3.11以上
- Windows 11(PowerShellで実行)
- 外部ライブラリは最小限にする(pip installが少ないほどよい)

## コード品質
- 処理の各ステップにコメントを付ける(何をしているかがわかるレベル)
- エラー時はログファイルに記録し、処理を中断する
- 設定値(ファイルパス、DB接続先等)はコード内にハードコードしない

情シスならではの注意点

ベンダーとの保守契約への影響

既存システムのソースコードを自社で修正すると、ベンダーの保守契約が無効になる可能性があります。Claude Codeで「読む」だけであればこの問題は発生しませんが、コードの修正に踏み込む場合は保守契約の内容を確認してください。

社内システムの認証情報の取扱い

Claude Codeにはソースコードを読ませるだけで十分です。データベースの接続情報、APIキー、内部ネットワークの構成情報は渡す必要がありません。CLAUDE.mdに「認証情報をClaude Codeに渡さない」と明記しておくことで、運用ミスを防げます。

情報セキュリティ部門との事前調整

Claude Codeの利用は「外部サービスへのソースコード送信」を伴います。AWS Bedrock経由の構成であればデータ経路を制御できることを説明し、まず本番データを含まない範囲(VBAの読解、汎用ツールの作成)での利用許可を求めるのが現実的です。

変更の影響範囲の確認

既存システムのコードを修正する場合、その変更が他のシステムに影響しないかを確認する必要があります。Claude Codeは影響範囲の分析を支援できますが、最終判断は人間が行ってください。

よくある質問

まとめ — 「読む」ことから始め、「作る」に進む

情シス・社内SEにとってのClaude Code活用は、既存システムのコードを「読む」ことから始めるのが最も安全で、最もROIが高い。コードを変更せず、仕様を理解するだけであれば、リスクはゼロです。

次のステップとして、野良VBAの移行や簡易ツールの内製化に進みます。この段階でも、Claude Codeが生成するのは新しいコードであり、既存システムを壊すリスクは低い。

最も重要なのは、今日から始められるということです。明日の業務で手作業で行う予定の作業を1つ選び、Claude Codeに「これを自動化するスクリプトを書いて」と指示してみてください。

Claude Codeの基本操作は Claude Code完全ガイド を、日本語での利用方法は Claude Code日本語環境ガイド を参照してください。

koromo からの提案

AIツールの導入判断は、突き詰めると「投資対効果が合うか」「リスクを管理できるか」「事業にどう効くか」の3点に帰着します。koromo では、この判断に必要な材料を整理するところからご支援しています。

以下のような状況にある方は、まず現状の整理だけでも前に進むきっかけになります。

  • AIで開発や業務を効率化したいが、自社に合う方法がわからない
  • 社内にエンジニアがいない / 少人数で、AI導入の進め方に見当がつかない
  • 外注先の開発会社にAI活用を提案したいが、何を求めればいいか整理できていない
  • 「AIを使えばコスト削減できるはず」と感じているが、具体的な試算ができていない

ツールを使った上で相談したい方はお問い合わせフォームから「情シス・社内SEでのClaude Code活用の相談」とご記載ください。初回の壁打ち(30分)は無料で対応しています。

本記事の更新方針: 本記事は定期的に内容を見直しています。記事内の判断軸・運用パターンは執筆時点での koromo の実務的知見に基づくものであり、個別環境での効果を保証するものではありません。仕様の最新情報は必ず Anthropic 公式ドキュメント をご確認ください。

Related Articles