2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

設計書の影響調査を2時間→10秒にするツールを個人開発した【Excel/Word横断検索】

2
Posted at

はじめに

システム開発でテーブル定義の変更や用語の統一が発生したとき、設計書群の影響調査を手作業でやった経験はないでしょうか。

Excelの設計書を1ファイルずつ開いてCtrl+Fで検索。ヒットしなくても、テキストボックスの中やコメント、メモの中身はCtrl+Fの検索対象外なので目視で確認。Wordの要件定義書も同様に開いて検索。500ファイルもあれば、最速で見積もっても約2時間はかかるはずです。

この問題を解決するために、OmniGrepというWindowsデスクトップアプリを個人開発しました。

この記事では、ダミーの設計書群を使って「テーブル名の影響調査」を行い、OmniGrepでどのように作業が変わるかを紹介します。

OmniGrepの検索対象まとめ

まず、OmniGrepがどこまで検索できるのかを整理します。

ファイル形式 検索対象 Ctrl+Fで検索可能か
Excel セルの値
Excel 図形内のテキスト
Excel スレッドコメント
Excel メモ(旧コメント)
Excel VBAコード
Word 本文
Word コメント
Word VBAコード
PowerPoint スライド本文・ノート
PowerPoint 図形内テキスト
PowerPoint VBAコード
PDF 本文・注釈 △(ビューアによる)

✕がついている箇所は、手作業では目視確認するしかない場所です。OmniGrepはこれらをすべて一括で横断検索します。

手作業の影響調査で何がつらいのか

具体的な場面を想像してください。受発注管理システムでテーブル定義を変更することになりました。

orders テーブルのカラムを変更する。影響範囲を洗い出してほしい」

設計書は以下のような構成で数百ファイル存在します。

設計書種別 ファイル形式 主な内容
テーブル仕様書 Excel カラム定義、インデックス、テーブル概要
画面設計書 Excel 画面レイアウト、イベント処理、バリデーション
処理設計書 Excel 処理フロー、擬似コード、ログ仕様
要件定義書 Word 業務要件、機能要件、データ要件

手作業で影響調査を行う場合、1ファイルあたりの作業はこうなります。

  1. ファイルを開く
  2. Ctrl+Fでキーワードを検索する
  3. シートが複数あれば、各シートに移動してCtrl+Fを繰り返す
  4. 図形・コメント・メモの中身を目視で確認する
  5. ファイルを閉じる

これを最速で見積もっても、1ファイルあたり15秒はかかります。ファイルを開くのに数秒待たされたり、図形が多い設計書では目視確認だけで数十秒かかることを考えると、15秒はかなり甘い見積もりです。

それでも500ファイルで計算すると、

15秒 × 500ファイル = 7,500秒 = 125分 ≒ 約2時間

現実的には、シートの枚数やファイルの重さを考慮すると3〜4時間以上になるケースも珍しくありません。しかも、これだけ時間をかけても図形やコメントの見落としリスクは残ります。

OmniGrepで同じ作業をやってみる

ここからは、ダミーの設計書群(テーブル仕様書・画面設計書・処理設計書・要件定義書、計39ファイル)を使って、orders の影響調査を実際にやってみます。

1. プロファイルの設定

OmniGrepでは「プロファイル」という単位で検索対象を管理します。設計書フォルダのパスと、検索対象のファイル種別を設定するだけです。

プロファイル設定画面

Excel、Word、PowerPoint、PDF、VBAファイルがすべて検索対象として選択できます。サブフォルダも含めて再帰的に検索するので、フォルダ構成が深くても問題ありません。

2. 検索を実行する

検索バーに orders と入力して検索ボタンを押すだけです。

検索結果

数十ファイルの設計書群から、orders を含むすべての箇所が一覧表示されました。結果はファイルごとにグループ化されており、ファイル名、シート名、セル番地が確認できます。

上部のフィルタバッジに注目してください。

フィルタバッジ

「セル」「Word本文」「ファイル名」「図形」「スレッド」「メモ」
Ctrl+Fで見つけられるのは「セル」だけです。残りはすべて、手作業では目視確認が必要だった箇所です。これが1回の検索でまとめて出てきます

3. ファイルを開かずに中身を確認する

検索結果をクリックすると、右側のプレビューパネルにヒットしたセルの周辺情報が表示されます。

セルプレビュー

ファイルを1つずつ開かなくても、ヒット箇所の前後の文脈が確認できます。これだけで「この処理は影響あり/なし」の一次判断が可能です。

4. 図形テキストやコメントの中身まで見つける

先ほどのフィルタバッジに「図形」「スレッド」「メモ」が並んでいました。これらはすべてCtrl+Fでは見つけられない場所です。

たとえばスレッドコメントの検索結果を見ると、テーブル仕様書のカラム定義シートに付けられたコメントのやり取りまで表示されます。

スレッドコメント検索結果

図形テキスト、スレッドコメント、メモ — どの場所にキーワードが含まれていても、OmniGrepはまとめて検出します。

5. Wordの要件定義書も同時に検索

フィルタバッジの「Word本文」をクリックすると、Word文書内のヒットだけに絞り込めます。

Word検索結果

ExcelとWordが混在するプロジェクトでも、1回の検索で両方を横断できます。

6. 検索結果をExcelに出力する

影響調査の結果は報告書やチケットに転記する必要があります。OmniGrepでは検索結果をCSVまたはExcel形式で出力できます。

Excel出力

ファイルパス、ファイル名、シート名、セル番地、ヒット種別、スニペットがすべて列に分かれた状態で出力されるため、そのまま影響調査の報告書として利用できます。

作業時間の比較

方法 時間(500ファイルの場合)
手作業(1ファイル最速15秒 × 500 = かなり甘い見積もり) 約2時間(現実的には3〜4時間以上)
OmniGrep 約10秒

※ 今回使用したダミーファイルは合計39ファイルでしたが、検索処理自体は0.5秒も掛かっていない、という速度でした。検索実行後すぐに結果が表示されます。
約1/750の時間で完了し、しかも図形やコメントの見落としがありません。

導入方法

OmniGrepはMicrosoftストアからインストールできます。

  1. Microsoftストアで「OmniGrep」を検索してインストール(無料)
  2. プロファイルを作成し、検索対象フォルダを設定
  3. 検索バーにキーワードを入力して検索

14日間は全機能を無料で利用可能です。期間終了後も、ファイル名検索・テキストファイル検索・Excelセル値検索は無料で継続利用できます。

図形テキスト、コメント、メモ、VBA、Word/PowerPoint/PDFの検索を含む全機能は、買い切り3,980円のライセンスで利用可能です。1回の影響調査で2時間が10秒になることを考えると、1回使えば元が取れる計算です。

まとめ

  • 設計書の影響調査では、Ctrl+Fで検索できない図形テキスト・コメント・メモ・VBAの確認に膨大な時間がかかる
  • OmniGrepはこれらをすべて横断検索し、Excel・Word・PowerPoint・PDFを同時に処理
  • 500ファイル規模でも約10秒で検索完了。ファイルを開かずにプレビューで一次判断が可能
  • 検索結果はExcel/CSV出力で報告書にそのまま使える
  • Microsoftストアから無料インストール。買い切り3,980円

OmniGrepにはMCPサーバー機能もあり、Claude等のAIから操作して「回帰的な影響調査」を行うこともできます。これについては別の記事で紹介予定です。

最後まで読んでいただきありがとうございました。
有料ライセンス無しでも、ファイル名やテキストファイルの本文。Excelのセルの値を即検索出来るので、十分に活用いただけるものだと思います。
ぜひ一度試していただき、感想をお聞かせください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?