• ベストアンサー

VBAのFileSearchと同じことをVBで行いたいのですが・・・

With Application.FileSearch '---FileSearchオブジェクトに対して .LookIn = strPath '---検索するフォルダを指定 .SearchSubFolders = True '---サブフォルダも検索対象にする .FileName = "*.lnk" '---検索するファイル名の指定 .FileType = msoFileTypeAllFiles '---検索対象はすべてのファイル .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) End With 上記のような処理をVBで行いたいのですが、記述の仕方がわかりません。 VBにも上記のようなものはないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

2通りの方法があります。 1.FileSearchオブジェクトを使ってVBAと同じにする。 2.DIRコマンドでファイル検索の関数を作成する。 1.の場合は、「プロジェクト→参照」でFileSearchオブジェクトにチェックを付ければ良いでしょう。 2.の場合はサブフォルダも検索する処理をうまく実現する必要がある。サンプルはWeb検索で見つかります。

irori999
質問者

お礼

回答ありがとうございます。 FileSearchオブジェクトにチェック、がどれのことなのか よくわからないんです・・・ すみません。

その他の回答 (2)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

過去スレ

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=362508
noname#4564
noname#4564
回答No.2

  FileSearchオブジェクトはAccessにしかありません。 VBで同等の機能を実現するなら、 (1) FileSystemObject (2) Dir関数で再帰的に処理。 (3) Win32API (FinFirstFileなど) のどれかでしょう。一番簡単でお手軽なのは、(1)です。 サンプルプログラムもWEBで検索すればたくさんあるはず。 アーリーバインドする場合は、Micorsoft Scripting Runtime (SCRRUN.DLL)を 参照すればOKです。(レイトバインドでも可) ただし、Windows 95の古いバージョンだと使えません。  

irori999
質問者

お礼

回答ありがとうございます。 (1)の方法で行おうと思うのですが、 FileSearchオブジェクトにチェックが分からないんです・・・

関連するQ&A