Page 136 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼文字列を含むファイル検索(指定ディレクトリ下) トルマりんご 02/9/27(金) 13:35 ┗Re:文字列を含むファイル検索(指定ディレクトリ下) トルマりんご 02/9/27(金) 14:53 ─────────────────────────────────────── ■題名 : 文字列を含むファイル検索(指定ディレクトリ下) ■名前 : トルマりんご ■日付 : 02/9/27(金) 13:35 -------------------------------------------------------------------------
Excel VBAにて ある指定ディレクトリ下(サブディレクトリも含む)のテキストファイル (拡張子指定)で、指定文字列を含むファイルを検索するロジックを 下記方法で作成したのですが、非常に遅く感じています。 もっと高速検索するにはどう作ったら良いのでしょうか? ●現在の遅い方法 1. ある指定ディレクトリ下(サブディレクトリも含む)ファイル リストを作成(ディレクトリ下のサブディレクトリ名取得と ディレクトリ内のファイル名取得する再帰関数にて)。 ※ 500ファイル位で感覚的に10秒程度 2. 1.リストより、1ファイルずづ ファイルOpenして、 InStr()にて、指定文字列を含むかどうか判断する。 ※ こちらが、10分もかかる感覚 For lngListCnt = 1 To lngListCntMax Step 1 intFileNum = FreeFile() Open strFileList(lngListCnt) For Input As #intFileNum strFilebuf = Input(LOF(intFileNum), #intFileNum) Close #intFileNum If InStr(1, strFileBuf, strTarget, vbTextCompare) >= 1 Then '★指定文字列を含むファイルが見つかりました!! End If Next lngListCnt |
質問が誤解されそうなので、補足します。 検索は、ファイル名に含む"文字列"ではなく、 ファイル中身の"文字列"検索です。 |