Skip to content
hsgwaPublic

About

Excel・Word・PowerPoint を中身の文字で横断検索する Windows 用ツール。数千ファイルを数秒で検索。インストール不要・管理者権限不要

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

tebunko

フォルダに溜まった Excel・Word・PowerPoint やテキストファイルを、中身の文字ですばやく検索。

Office があれば、すぐに使えます。インストール不要・管理者権限不要・通信なし。

最新版 test codecov OpenSSF Scorecard Windows License: MIT

ダウンロード ・ 使い方 ・ ドキュメント ・ サポート

tebunko の検索画面。「単価」で検索し、一致した Word と Excel のファイルが見出しごとに並び、選んだ行の前後が下のプレビューに出ている

こんなときに

「(株)山田商事の名前が入った見積書、どこにあったっけ……」

共有フォルダに Excel や Word のファイルが何千もあると、1 つずつ開いて探すのはひと苦労です。エクスプローラーで検索しても、どのシートのどのセルに書いてあるかまでは分かりません。

tebunko は、フォルダの中の Office ファイル(Excel・Word・PowerPoint)とテキストファイルから文字を取り出して、検索用の索引(インデックス)を作っておきます。検索はこのインデックスを使うので、ファイルを 1 つも開かずに、一致した箇所が数秒で一覧になります。ヒットしたファイルはダブルクリックで開き、そのまま編集できます。Excel なら、該当のセルを選んだ状態で開きます。

目次

特長

  • Office があれば、すぐに使える。 必要なのは Windows と Microsoft Office だけです。管理者権限も、追加のソフトも要りません。zip を展開するだけでも、インストーラーで入れても使えます。
  • すばやく探せる。 100 万行(約 70MB)のインデックスでも、1〜2 秒で結果が出ます。語を含みうるファイルを先に絞ってから探すので、大きなインデックスでも待たされません。結果は、すべてを探したときと同じです。
  • どこに書いてあるかが一目で分かる。 ファイルごとに、シート・ページ・スライドと行まで表示します。一致した文字は黄色で目立たせます。
  • 図形やコメントの中も探せる。 セルや段落の文字だけでなく、図形・テキストボックス・コメントの文字も検索できます。SmartArt やグラフの文字も対象です。
  • インデックスの更新は変更分だけ。 2 回目からのインデックス作成では、前回から変更・追加されたファイルだけを読み込みます。途中で止めても、次は続きから再開します。
  • 共有フォルダにも使える。 ネットワークドライブや \\server\share の形のフォルダも登録できます。
  • 元のファイルを書き換えない。 インデックスの作成では、Office ファイルはコピーを読み取り専用・マクロ無効で開き、テキストファイルと PDF もコピーを読みます(コピーは 1 ファイルずつ作り、読み終えたら消します)。
種類 拡張子 結果に表示する場所
Excel .xlsx / .xlsm / .xls / .xlsb シート(行・セル。.xlsx / .xlsm はヘッダー/フッターも)
Word .docx / .docm / .doc ページ(目安)・ヘッダー/フッター・脚注
PowerPoint .pptx / .pptm / .ppt スライド・ノート・フッター
テキスト .txt / .csv / .md / .py / .java / .html 等、75 種類の拡張子(一覧) 行番号
PDF .pdf ページ

動作環境

tebunko は、Windows と Microsoft Excel(デスクトップ版)が入っている PC で動くように作っています。必要なものは次だけです。

必要なもの 用途
Windows 10・11 Windows PowerShell 5.1 で動きます。最初から入っています
Microsoft Excel(デスクトップ版) Excel ファイルからの文字の取り出しと、検索結果からセルを選んで開くこと
Microsoft Word・PowerPoint 旧形式(.doc・.ppt)のファイルを読み込むときだけ使います

これ以外に依存するものはありません。

  • インストール不要 … zip を展開するだけ。レジストリも書き換えません(手軽に入れたいときはインストーラーも使えます。下の「インストール」)
  • 管理者権限不要 … 一般のユーザーのまま使えます
  • 設定の変更不要 … PowerShell の実行ポリシーを変える必要はありません
  • ネットワーク不要 … 通信をしないので、インターネットにつながらない PC でも使えます
  • 追加のライブラリなし … 他者が作ったライブラリ(コード)を含みません。含む第三者の部品は、アイコンの形(Lucide)だけです(下の「ライセンス」)。zip 版は実行ファイル(.exe・.dll)も含みません

動かない環境は、Excel が使えない PC(Office が無い・Web 版だけ・COM が禁止)、Mac・Linux、PowerShell 7 だけの環境、PowerShell の実行が禁止されている PC です。組織が実行を制限している PC での動き方と、確かめていない環境(VDI・RDS・Windows Server・Arm 版の Windows など)は、手引きの「動作環境」にあります。

インストール

Releases に 3 つの形で置いています。中身(ツールの本体)は同じです。次の順に選んでください。

  1. .exe を入れられるなら、インストーラー版。インストーラーが入れたファイルには、ダウンロードしたことを示す印が付かないので、警告が出ません。
  2. 入れられないなら、zip 版(tebunko.bat で起動)。
  3. .bat が届かない・止められるなら、ショートカットから起動します(下の「zip を展開して使う」)。
形 向いている場合
インストーラー(tebunko-setup-<バージョン>.exe) 手軽にインストール・アンインストールしたい
zip(tebunko-<バージョン>.zip) 実行ファイル(.exe)を入れたくない・入れられない。共有フォルダに置いて使いたい
単一 .ps1(tebunko-<バージョン>.ps1。試験版) 1 本のファイルだけで持ち運びたい。展開の手間も無くしたい

インストーラーで入れる

  1. tebunko-setup-<バージョン>.exe をダウンロードして実行し、画面に沿って進めます。管理者権限は要りません(管理者なら「すべてのユーザー」を選んで C:\Program Files に入れることもできます)。
  2. スタートメニューの「tebunko」から起動します。

インストーラーにはまだコード署名が無いため、「Windows によって PC が保護されました」と表示されます。[詳細情報]→[実行]を押してください。新しい版に更新するときは、新しい版のインストーラーを実行するだけです(設定は引き継ぎます)。アンインストールは「設定」→「アプリ」から行います。インデックス(ワークスペース)は消さないので、不要なら手で削除してください(文書の文字がそのまま入っています)。

zip を展開して使う

  1. tebunko-<バージョン>.zip をダウンロードします。展開する前に、zip ファイルのプロパティを開き、[ブロックの解除](Windows 11 では[許可する])にチェックを入れます(ダウンロードした zip が作者の配布物であることは、先に確かめられます。配布物の完全性)。この項目が出ない zip は、解除は要りません。
  2. 好きな場所に展開します。共有フォルダに置いてもかまいません。
  3. 展開したフォルダの tebunko.bat をダブルクリックすると、画面が開きます。フォルダには、ほかにツールの本体(scripts)・この説明(README.md)・ライセンス(LICENSE)・版の記録(VERSION.txt)が入っています。

解除せずに展開した場合は、tebunko.bat を起動するたびに「開いているファイル - セキュリティの警告」が表示されます。[実行]を押すと起動します。[このファイルを開く前に常に確認する]のチェックを外して[実行]を押すと、以降は表示されなくなります。

.bat を使えない PC では、展開したフォルダを作業フォルダーにしたショートカットから起動できます。作り方は手引きの「tebunko.bat を使わずに起動する」にあります(docs/ は zip に入らないため、サイトに置いています)。実行ポリシーはこのプロセスだけに効き、PC の設定は変えません。

単一 .ps1 版(試験版)を使う

展開せずに、1 本の .ps1 だけで動かせる試験版です。中身は zip 版と同じ scripts\ を機械的に結合したものです。

  1. tebunko-<バージョン>.ps1 をダウンロードします。
  2. ファイルを右クリックし、[PowerShell で実行]を選びます。

グループポリシーで PowerShell の実行ポリシーを固定している PC では、先にダウンロードしたファイルのプロパティを開き、[ブロックの解除]にチェックを入れてから実行してください。

右クリックで実行すると、画面とは別に PowerShell の窓が開き、実行中は残ります。起動に失敗したときはメッセージボックスで知らせます。ファイルが壊れていて読み込めないときは窓がすぐに閉じて理由を読めないので、ダウンロードし直してください(制限事項)。設定(setting.config)は .ps1 ファイルと同じフォルダにできます。ほかのファイルと混ざらないよう、専用のフォルダに置くことをお勧めします。書き込めない場所(読み取り専用の共有フォルダなど)に置いたときは、zip 版と同じく既定のワークスペース(%USERPROFILE%\Documents\tebunko_ws)の直下に置かれます。インデックスなどの作業フォルダは、設定で変えていなければ zip 版と同じ %USERPROFILE%\Documents\tebunko_ws です。

単一 .ps1 版と zip 版・インストーラー版の間で、設定やインデックスを自動で引き継ぐ仕組みはありません(フォルダを分けて置くと設定は別になり、既定の作業フォルダは共有します)。別の形に移すときは、[インデックス管理]タブの[エクスポート…]で元の形からインデックスを書き出し、移した先で[インポート…]から読み込んでください。

利用者の確かめが済むまでは「試験版」として、zip 版・インストーラー版と並べて配布します(詳細は設計書)。

更新・削除

新しい版への更新と削除の手順は、手引きの 更新とアンインストール にあります。zip 版は別のフォルダに展開して setting.config をコピーし、前のフォルダを削除します。アンインストールしても、インデックス(ワークスペース)は消えません。

使い方

使い方は 3 ステップです。

1. フォルダを登録して、インデックスを作成する

[インデックス管理]タブで[+ フォルダを追加]を押し、検索したいファイルのあるフォルダを選びます。行にチェックを入れて[すべて更新]を押し、確認のダイアログで[更新を開始]を押すと、フォルダの中のファイルを読み込み始めます。進み具合と残り時間は画面に表示されます。

[インデックス管理]タブ。登録したフォルダの一覧と、更新が終わったことを知らせる表示が出ている

かかる時間の目安は、Office ファイル 300 件(ほとんどが Excel)で約 3 分です。2 回目からは変更・追加されたファイルだけを読み込むので、変更が無ければ数秒で終わります。大きなファイルが多いと、そのぶん時間がかかります。インデックスの作成中も検索できます。

2. 検索する

[検索]タブで検索ワードを入れ、Enter を押します。300 件のファイルでも 1〜2 秒で、ヒットしたファイルが見出しとして並びます。

検索した直後の結果。ヒットした 2 つのファイルが、件数とともに見出しだけ折りたたまれて並んでいる

ファイル名をクリックすると、そのファイルの一致した行が開きます。行を選ぶと、その前後が下のプレビューに表示されます。

検索結果。ファイルごとの見出しの下に一致した行が黄色で強調されて並び、選んだ行の前後が下のプレビューに出ている

3. ファイルを開いて編集する

行をダブルクリックすると、元のファイルが開きます。そのまま編集して保存できます。Excel なら、該当のセルを選んだ状態で開きます。

よく使うオプション

オプション 内容
[正規表現を使う] オフのときは、(株) や 1.5 もそのままの文字として探します
[大文字と小文字を区別] 英字の大文字と小文字を区別します
[図形も検索][コメントも検索] 最初はオンです。本文だけを探したいときはオフにします
種類のチップ Excel・Word・PowerPoint・テキスト・PDF のうち、検索する種類を選びます。最初はすべて選んでいます(ファイル名での絞り込みは、検索後の[絞り込み]で行います)
[結果をファイルに出力] 検索結果をワークスペースの search_results.txt に書き出します

元のフォルダを移動したときは、[インデックス管理]の詳細のフォルダパスで新しい場所を指定するだけで済みます。インデックスを作り直す必要はありません。

ワークスペース

インデックス・取り込み一覧・ログを置くフォルダ(ワークスペース)は、既定では %USERPROFILE%\Documents\tebunko_ws です。そこにほかのファイルが置いてあるときは使わず、別の空のフォルダを選んでもらいます。[設定]の[変更…]で、アクセス権を絞ったフォルダや容量のあるドライブの空のフォルダに変えられます。tebunko を書き込めない場所(C:\Program Files など)に置いたときは、設定ファイル(setting.config)を既定のワークスペースの直下に置きます(設定ファイルは「ほかのファイル」に数えません)。%LOCALAPPDATA%\tebunko と %TEMP% には何も書きません。

画面ごとの詳しい使い方は ドキュメントの「使い方」 をご覧ください。

制限事項

  • 検索できない文字: 画像の中の文字(スキャンした PDF を含む)、PDF の注釈・フォームの欄・しおりの文字、Excel に埋め込んだファイルと Office のファイル以外の埋め込みオブジェクト、Excel の非表示シート・グラフ・SmartArt、PowerPoint のスライドマスター
  • 読み込めないファイル: パスワード付きのファイル、1 ファイルの読み込みに 10 分以上かかるファイル、10MB を超えるテキストファイル、100MB を超える PDF・壊れた PDF・暗号化の方式が AES-256 以外(RC4・AES-128)の PDF・文字の対応表を持たない一部のフォントの PDF、文字コードを判定できないテキストファイル
  • 検索: 一度に探せるのは 1 ワードです。結果は 10,000 件までです(設定の画面で変えられます)
  • Excel の数値: セルに表示されている形で検索します。表示形式が「標準」で 12 桁以上の数値は指数表記(4.90123E+12)になるため、元の番号では見つかりません
  • 反映のタイミング: 元のファイルを変更した内容は、次にインデックスを作成したときに反映されます

制限事項の一覧は 設計書 にあります。

安全性

会社の PC にも安心して入れられるよう、tebunko が何をして何をしないかを公開し、毎回テストで確かめています。

  • 中身は PowerShell のスクリプトと画面の定義だけです。 他者が作ったライブラリ(コード)は含みません。含む第三者の部品は、アイコンの形(Lucide)だけです(部品表の雛形。ファイルごとの一覧とハッシュを入れた部品表は、リリースに sbom.cdx.json として載せています)。zip 版は実行ファイルも含みません。インストーラー版は、起動用の小さな tebunko.exe(ソースは installer/tebunko.cs)と、Inno Setup のインストーラー・アンインストーラーが加わります。
  • 通信はしません。 管理者権限の要求、レジストリの変更、常駐もしません(インストーラー版は、Windows の「アプリ」の一覧に出すためのアンインストールの情報だけを書きます)。
  • テストで確かめています。 これらは tests/meta/safety.Tests.ps1 と静的解析(PSScriptAnalyzer・CodeQL)が、変更のたびに CI で確かめます。

Important

インデックスのうちワークスペースの store には文書の文字がそのまま入っており、元のファイルのアクセス権は引き継がれません。インデックスを置くフォルダ(ワークスペース。既定は %USERPROFILE%\Documents\tebunko_ws)のアクセス権は、検索するフォルダと同じか、それより厳しくしてください。

根拠やご自身で確かめる手順、配布ファイルの検証方法は 安全性の説明 に、脆弱性の報告先は SECURITY.md にあります。

仕組み

利用者が tebunko でできることと、その裏で何が起きているかを図にしました。

flowchart LR
    U(("利用者"))
    subgraph T["tebunko"]
        direction TB
        UC1(["フォルダを登録する"])
        UC2(["インデックスを作成する"])
        UC3(["検索する"])
        UC4(["ヒットしたファイルを開く"])
        UC5(["残った Office を終了する"])
        I[("インデックス<br>(ワークスペース)")]
    end
    F[("元のファイル<br>(共有フォルダなど)")]

    U --- UC1
    U --- UC2
    U --- UC3
    U --- UC4
    U --- UC5
    UC2 -. "読み取り専用で読む" .-> F
    UC2 -- "文字だけを保存する" --> I
    UC3 -- "文字だけを探す" --> I
    UC4 -. "元のファイルを開く" .-> F
Loading
できること 裏で起きていること
フォルダを登録する 検索したいファイルのあるフォルダを覚えます。フォルダの中身には、まだ触れません
インデックスを作成する 登録したフォルダのファイルを 1 つずつ読み、文字だけを取り出してインデックスに保存します。Office ファイルはコピーを読み取り専用で開いてシート・ページ・スライドごとに、テキストファイルはコピーを行ごとに、PDF はコピーをページごとに読みます(どれも読み終えたらコピーを消します)。2 回目からは、前回から更新日時が変わったファイルと、新しく増えたファイルだけを読み込みます
検索する 元のファイルは開かず、インデックスの文字だけを探します。そのため、ファイルが何千あっても数秒で結果が出ます
ヒットしたファイルを開く 元のファイルを Excel・Word・PowerPoint で開きます。そのまま編集して保存できます。テキストファイルと PDF は既定のアプリで開きます(実行・登録になる拡張子はメモ帳で開きます。PDF は該当のページへは移動しません)
残った Office を終了する インデックスの作成を途中で止めたときなどに残った Excel・Word・PowerPoint を、次に起動したときの確認で終了します

設計の詳細は 設計書(docs/)にあります。

開発に参加する

不具合の報告や要望、改善の提案をお待ちしています。参加する際は 行動規範 をお守りください。

したいこと 場所
不具合の報告・機能の要望 Issue
使い方の質問 SUPPORT.md
脆弱性の報告(非公開) SECURITY.md
変更の提案 CONTRIBUTING.md

テストは次のコマンドで実行できます(Pester 5.9.0。入れ方は CONTRIBUTING)。Pull Request を出すと、CI がテスト・カバレッジ・静的解析・個人情報の有無を自動で確かめます。

.\tests\run.ps1

開発状況

tebunko は積極的に開発しています。機能や画面は、これからも変わります。変更点は Releases でご覧いただけます。

ライセンス

MIT

同梱する第三者の部品は、アイコンの形(Lucide)の 1 件だけです。ISC ライセンスで、Feather 由来の一部は MIT ライセンスです。ライセンスの文面は、zip・インストーラーの scripts/shared/licenses/LICENSE-Lucide.txt にあります(単一 .ps1 版は、ファイルの先頭近くに同じ文面がコメントとして入っています)。ライセンスの名前は、画面の[バージョン情報]にも出ます。

Microsoft、Excel、Word、PowerPoint、Windows、PowerShell は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。tebunko は Microsoft Corporation とは関係のない個人のプロジェクトであり、Microsoft Corporation が承認・支援したものではありません。

About

Excel・Word・PowerPoint を中身の文字で横断検索する Windows 用ツール。数千ファイルを数秒で検索。インストール不要・管理者権限不要

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages