#295 Officeドキュメントの全文検索 VBA

Accessから「Microsoft Office10.0 Object Library」を呼び出して、Officeドキュメント内の全文検索を行なう方法です。

次の例では、"C:\Documents and Settings\Administrator\My Documents"フォルダにあるすべてのWord文書を検索し、その文書内に「Access」という文字列を含むファイルを検索します。見つかった場合には、そのファイル名をイミディエイトウィンドウに表示します。

※下記コードを実行するためには、VBEの[ツール]-[参照設定]メニューを実行し、「参照可能なライブラリファイル」一覧の"Microsoft Office10.0 Object Library"の項目にチェックを付けておく必要があります。
Dim iintLoop As Integer

'FileSearch オブジェクト
With Application.FileSearch
  '検索条件をリセット
  .NewSearch
  '検索先フォルダを指定
  .LookIn = "C:\Documents and Settings\Administrator\My Documents"
  'サブフォルダも検索(しない場合はFalse)
  .SearchSubFolders = True
  'Word文書を検索
  .fileName = "*.doc"
  '検索する文字列を指定(ワイルドカードで指定)
  .TextOrProperty = "*Access*"
  '検索対象のファイルの種類
  .FileType = msoFileTypeAllFiles
  '検索を実行
  If .Execute() > 0 Then
    'ファイルが見つかったら
    Beep
    MsgBox .FoundFiles.Count & " 個のファイルが見つかりました!", _
            vbOKOnly + vbInformation
    '見つかったファイル名を列挙
    For iintLoop = 1 To .FoundFiles.Count
      Debug.Print .FoundFiles(iintLoop)
    Next iintLoop
  Else
    Beep
    MsgBox "指定された検索条件に一致するファイルは見つかりませんでした!", _
            vbOKOnly + vbInformation
  End If
End With
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved