ワード検索野郎 Ver.0.971β

紹介
ワード検索野郎は、Microsoft Wordファイルを正規表現検索できるタブ型Word Grepツールです。Word97-2003についてはバイナリファイルを直接解析しているためWordがインストールされていなくとも検索できます。他に、標準でWindowsテキスト、HTML、PDF(Ver1.2-1.4)、リッチテキストファイルも検索できます。タブ型なので連続して検索してそれぞれの結果を残すことができます。 Wordを使った大学生のための論文作成術 (佐良木 昌 (著))でも本ソフトの活用方法が紹介されています。

主な機能は以下の通りです。

*1: 半角シンボル(ギリシャ文字などASCII以外の文字は正しくカウントできない場合があります)。詳しくは未解決問題を参照。 *2: Word2003より後のWordファイルは検索できません

動作環境
以下の環境で動作確認しています。
インストール
wordyaro.zipをダウンロードし、通常の手続きで解凍すると が出来ます。

アンインストール
  1. インストールしたフォルダにあるすべてのファイルおよびtempfolフォルダを削除します。
使用方法
起動
GREP検索
  1. 新規検索ボタンの横にキーワードを入れる。正規表現を使用したい場合[az]ボタンを押した状態で正規表現を入力する(正規表現を使用した場合、Word文書の該当箇所へのジャンプはできない)
  2. フォルダーマークボタンを押して検索したいフォルダーを指定する(複数指定可能)。
  3. 新規検索ボタンを押す(追加検索ボタンを押せば別のタブに検索結果を表示)
  4. キーワードが含まれるファイルのリストが表示される。
  5. リストをクリックするとプレビュー画面に文書が表示される
拡張検索(ワードファイル限定)
  1. フォルダーマークボタンを押して検索したいフォルダーを指定する。
  2. ツール→拡張検索を選ぶ
  3. タイトル、作成日時などのワードファイルの属性や、全角カタカナ、半角英小文字など文書に含まれている文字種など、文書の検索条件を指定する。
  4. 検索ボタンを押す
ファイルオープン
  1. フォルダーマークボタンを押して検索したいフォルダーを指定する。
  2. フォルダーに含まれるファイルのリストが表示される。
  3. リストをクリックするとプレビュー画面に文書が表示される
  4. リストをマウスの右ボタンでクリックし、メニューを選ぶと,Word文書を開ける
    (同じ操作は、ファイル→フォルダーを開く でもできる。)
ファイル一括変換
  1. フォルダーマークボタンを押して検索したいフォルダーを指定する。
  2. ファイル→一括変換を選択する
  3. 変換したテキストファイルを保存するフォルダーを指定する。
文字数・文書属性表示
    検索結果リストから属性や文字数を見たいファイルをクリックすると、右下に表示される。文書属性はWord97-2003でファイル→プロパティで表示されるものと同じ。文字数は全角及び半角文字の英大文字、英小文字、数字、記号、カタカナの数を個別に表示できる。半角カタカナの混入、全角記号・全角英字の使用などを簡易チェックできる。但し、シンボル文字については未解決問題あり。文字数表示と文書属性表示は表示→文字情報(文書情報)で切り替える。
その他の機能

検索結果リストをマウスの右ボタンでクリックすると、以下のメニューを選ぶことできる。
プレビュー画面をマウスの右ボタンでクリックすると、以下のメニューを選ぶことできる。
リポジトリに入れた検索結果はツリー表示され、以下の操作が可能となる。 表示メニューで文書情報、プレビュー画面の表示・非表示、プレビュー画面のフォント、リスト表示での先端部分表示/終端部分表示を変更できる。また開いたタブを一括で閉じることができる。

オプション

検索オプション 動作オプション
正規表現の種類

Awk準拠正規表現(Bmonkey氏Regexpコンポのヘルプより転載)

  1. 文字そのもの。
    メタキャラクタ以外の文字は通常の文字を表します。
    abc 文字列 'abc' にマッチします。

  2. '\'によるメタキャラクタの意味打ち消し。
    \+, \|, \\ それぞれ文字'+', '|', '\' にマッチします。

  3. '\'によるエスケープシーケンス。
    エスケープシーケンス 意味 対応するキャラクターコード
    \b Back space $08
    \r Carriage return $0A
    \n Line feed $0D
    \t Tab $09
    \xhhhh hは16進数。1~4桁まで、2バイト文字も指定可能
    \oooooo oは8進数。 1~6桁まで、2バイト文字も指定可能。


  4. '.'によって任意の一文字(2バイト文字含む)を表す。
    ※ 復帰(CR)$0d、改行(LF)$0a にはマッチしません。

    正規表現 'a.b' は、 'aab', 'azb', 'abb', 'a全b' ... などにマッチします。

  5. 文頭を表すメタキャラクタ '^'
    検索対象テキストの文頭にマッチします。
    ※1文字目のキャラクタを表す位置以外では、通常のキャラクタ'^'として扱われます。
    例 ○ ^abc 文頭の'abc'にマッチします。
    ○ '(xyz|^ABC)' 'xyz'または、文頭の'ABC'にマッチします。

    × 'A^BC 'A^BC'にマッチします。文頭を表すメタキャラクタとしては解釈されません。

  6. 文尾を表すメタキャラクタ '$'
    検索対象テキストの文尾にマッチします。
    ※最後尾のキャラクタを表す位置以外では、通常のキャラクタ'$'
    として扱われます。
    例 ○ abc$ 文尾の'abc'にマッチします。
    ○ '(xyz$|^ABC)' 文尾の'xyz'または、文頭の'ABC'にマッチします。
    × 'A$BC 'A$BC'にマッチします。文尾を表すメタキャラクタとしては解釈されません。

  7. キャラクタクラス
    '[' と ']'に挟まれた文字のどれか1文字にマッチします。
    [abc] 'a' 又は 'b' 又は 'c' にマッチします。
    '-'による範囲指定も可能です。
    [0-90-9] 半角、全角の数字1文字にマッチします。

  8. 補キャラクタクラス
    '[' と ']'に挟まれた文字以外の文字1字にマッチします。
    [^いろは] 'い', 'ろ', 'は' 以外の1文字にマッチします。
    '-'による範囲指定も可能です。
    [^a-zA-Z] 半角アルファベット以外の一文字にマッチします。

    ※ キャラクタクラスの中では、'['の次の'^', メタキャラクタ '\', 範囲指定の '-'以外の文字は文字そのものとして扱われる。
    [.()\\^] 文字 '.', '(', ')', '\', '^' のどれか一文字にマッ
    チします。

    ※ キャラクタクラスの中で両側にキャラクタの無い'-'は文字そのものとして
    扱われます。
    [+-] 文字 '+', '-' のどちらか1つにマッチします。
    [-+] 同上

  9. 連結 Concatonation
    XY 連続している正規表現XYにマッチします。

  10. 選択 Union
    X|Y 正規表現 X 又は 正規表現 Y にマッチします。

  11. 0回以上の繰り返し(閉包)Closure
    X* a* は '', 'a', 'aa', 'aaa', ... にマッチします。

  12. 1回以上の繰り返し (正閉包)Positive Closure
    X+ a+ は 'a', 'aa', 'aaa', 'aaaa', ... にマッチします。

  13. 「ある」か「ない」かの指定
    X? a? は '', 'a' にマッチします。

  14. 括弧による解釈の優先順位指定
    (X) (abc)+ は 'abc', 'abcabc', ... にマッチします。

  15. ヌル正規表現
    () (X|) は X?と等価の意味を持つ。

Perl準拠正規表現(Bregexp.dllヘルプより抜粋)

未解決問題
注意事項
  1. このソフトウェアを使用して如何なる被害が生じても作者は一切責任を負いません。
  2. すべての環境でテストしたわけではありませんので、あなたの環境で動作する保証は有りません
  3. このソフトウェアの著作権はSATOS601に帰属します。
  4. このソフトウェアはフリーウェアです
  5. 商用(社内でのみ)利用可能です。
謝辞
本ソフトウェア作成にあたり以下のライブラリを使用させていただきました。 Wordバイナリファイルの解析にあたり以下の資料を参考にさせていだだきました。 *rtfconv.dllの著作権は針谷壮一にあります。rtfconvのオリジナルの入手先は(http://www5b.biglobe.ne.jp/~harigaya/)です。
更新履歴
Ver0.10 初版完成
Ver0.101 検索文字をワードから引き継ぐ機能を削除
Ver0.20 文字数カウント、検索文字の正規表現対応サポート
Ver0.30 拡張検索サポート、ファイルコピー・移動・削除メニュー
Ver0.31 終端部分表示メニューを追加
Ver0.50 フォルダーの複数指定を可能にした。オプション画面を変更。検索フォルダーとキーワードを指定するボックス位置の入れ替え。サイズ変更した際のリストビュー画面再描画不具合修正。
Ver0.60 使用中文書があるとエラーが出るバグを修正。リポジトリの検索機能を削除。複数フォルダーの指定を可能にした。
Ver0.70 TXT,HTMLファイルの検索を可能にした。
Ver0.71 PDFVer1.2-1.4対応
Ver0.80 リッチテキスト対応
Ver0.81 テキスト検索時にJIS,EUC,UNICOCDEにも対応
Ver0.82 Bregexp.dllによる正規表現対応。
Ver0.92 保存、文書情報表示のバグ修正
Ver0.93 1ファイルで複数ヒットがあった場合最初のヒットのみ表示するオプション追加
Ver0.94 文書ファイルのアイコンをリストに表示。リストコントロールの変更。プレビューサイズ上限設定。
Ver0.95 表示関係の改善
Ver0.96 関連アプリで起動が機能しなかったのを修正。拡張子なしでも開くオプションを追加
Ver0.97 タブ型に変更し、検索結果を残せるようにした。リポジトリー機能を廃止