• 締切済み

Access2007でFile Searchが使えなくなり大変困ってい

Access2007でFile Searchが使えなくなり大変困っています。 行いたい内容は以下です。 1.ボタンを押下し、指定したフォルダのファイル一覧画面を出す 2.一覧画面のファイル名に直近のファイル名を表示させる ・Access2000(VBA)でのコード Set fs = Application.FileSearch With fs .lookin =Path  'Path=D:¥system¥file .FileName ="*.xls" If Execute() > 0 Then File = foundfiles(.foundfiles.Count) Else File = "" End With ネットで検索すると、FileSystemObjectで対応できるとのことですが、よく分かりません。 File Searchを使わずにFileSystemObjectを使うとどのように書くのでしょうか。 どうぞ宜しくお願いします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

ファイルを選択したいのですよね? なら2002以降からFileDialogが使えますからこっちの方が楽チン。 下記のような感じで取得できますよ。 Function FilePick() As String   'OFFice2002以降(参照設定不要)   Dim FD As Object   Dim F As Variant   Set FD = Application.FileDialog(3)   With FD     '.InitialFileName = "D:\system\File"       '初期検索先指定     .InitialFileName = Application.CurrentProject.Path     .Title = "ファイル選択"     .AllowMultiSelect = True        '複数ファイル選択の可否          .Filters.Clear             'ファイルフィルタの設定     .Filters.Add "すべてのファイル", "*.*"     .Filters.Add "Accesssデータベース", "*.mdb;*.mde"     .Filters.Add "エクセルファイル", "*.xls;*.xla;*.xlt"          .FilterIndex = 3            '初期選択フィルタの設定     .ButtonName = "決定"          'ボタンの表示文字列の設定     'キャンセル時にはShowメソッドは0(Long型)を返す     IF CBool(.Show) Then       '選択ファイルのパスの取得         FilePick = .selecteditems(1)     Else         FilePick = ""     End IF          For Each F In .selecteditems       Debug.Print F 'イミディエイト ウィンドウに出力     Next    End With    End Function