- 締切済み
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を使うとどのように書くのでしょうか。 どうぞ宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
ファイルを選択したいのですよね? なら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