HOME > 即効テクニック > AccessVBA > ファイル操作・他アプリケーションとの連携 > フォルダ内のファイル一覧を取得する

即効テクニック

ファイル操作・他アプリケーションとの連携

フォルダ内のファイル一覧を取得する

(Access 2000/2002)
● 概要 ●
構文  Object1.GetFolder(FolderPath) 取得のみ
Object2.Files            取得のみ


設定項目   内容
Object1  FileSystemObjectオブジェクトを指定[省略不可]
FolderPath フォルダのパスを絶対パスまたは相対パスで指定[省略不可]
Object2  Folderオブジェクトを指定[省略不可]


フォルダ内のファイルの情報はFolderオブジェクトのFilesコレクションで取得できます。
Folderオブジェクトは、FileSystemObjectオブジェクトのGetFolderメソッドにフォルダ名を指定して取得します。
FilesコレクションはFilesプロパティで取得できます。
ファイル名を取得するには、FilesコレクションのFileオブジェクトのNameプロパティを使います。
FolderオブジェクトはFileSystemObjectオブジェクトの参照設定を行ってから使用します。
参照設定は、[ツール]メニューから[参照設定]コマンドを選択して、[参照設定]ダイアログボックスを表示します。
ダイアログボックスが表示されたら一覧から「Microsoft Scripting Runtime」をチェックして[OK]ボタンをクリックします。

サンプルは、「C:\AccessVBA」フォルダのファイル名一覧を[イミディエイト]ウィンドウに表示します。


● サンプルプログラム ●
'フォルダ内のファイル一覧を取得する
'  [ツール]→[参照設定]で「Microsoft Scripting Runtime」をチェック
Sub Sample()

    Dim myFileSystem As New Scripting.FileSystemObject
    Dim myFolder     As Scripting.Folder
    Dim myFile       As Scripting.File

    Set myFolder = myFileSystem.GetFolder("C:\AccessVBA")

    For Each myFile In myFolder.Files
        Debug.Print myFile.Name
    Next

End Sub


● 実行結果例 ●
sample.mdb
sample.txt
sample.xls