FSO Files コレクションからファイルを参照

このコードは、FileSystemObject (FSO) を使用して特定のフォルダ内のファイルを参照し、その情報を表示する方法を示しています。

' FSO Files コレクションからファイルを参照
Private Sub FSO_Files()
    ' 参照設定「Microsoft Scripting Runtime」必要
    With New FileSystemObject

        ' ファイルを参照するパスを指定します
        Dim myPath As String
        myPath = "C:\TEMP"
    
        ' Files コレクションを作成して、指定パスのファイルを取得します
        Dim myFiles As Files
        Set myFiles = .GetFolder(myPath).Files
        
        ' 特定のファイルを参照してファイル名を表示します
        Debug.Print myFiles.Item("hoge.txt").Name   ' hoge.txt
        Debug.Print myFiles("fuga.txt").Name        ' fuga.txt
        
        ' ファイルの総数を表示します
        Debug.Print myFiles.Count
        
        ' ファイルを一つずつ参照してファイル名を表示します
        Dim myfile As File
        For Each myfile In myFiles
            Debug.Print myfile.Name
        Next myfile
    End With
End Sub

コードの概要

このサブプロシージャ FSO_Files は、FileSystemObject を使って特定のフォルダ内のファイルを取得し、そのファイルの情報を表示します。

コードの詳細

  1. FileSystemObjectの作成:With New FileSystemObject
    ここでは FileSystemObject のインスタンスを作成しています。このオブジェクトを使ってファイルシステムにアクセスします。
    ' 以下は、参照設定有無にかかわらず使用可 ' With CreateObject("Scripting.FileSystemObject")
    参照設定がなくても動作するコードをコメントアウトしています。
  2. ファイルを参照するパスの指定:Dim myPath As String myPath = "C:\TEMP"
    ファイルを参照するパスを myPath という変数に設定しています。
  3. Files コレクションの作成とファイルの取得:Dim myFiles As Files Set myFiles = .GetFolder(myPath).Files
    指定されたパス (myPath) のフォルダ内のファイルを取得し、そのファイルのコレクションを myFiles に設定します。
  4. 特定のファイルを参照してファイル名を表示:Debug.Print myFiles.Item("hoge.txt").Name ' hoge.txt
    Debug.Print myFiles("fuga.txt").Name ' fuga.txt
    myFiles コレクション内の特定のファイル(hoge.txtfuga.txt)の名前を表示します。
  5. ファイルの総数を表示:Debug.Print myFiles.Count myFiles
    コレクション内のファイルの総数を表示します。
  6. ファイルを一つずつ参照してファイル名を表示:Dim myfile As File
    For Each myfile In myFiles
    Debug.Print myfile.Name
    Next myfile
    myFiles コレクション内の各ファイルを一つずつ参照し、その名前を表示します。

コード全体の動作まとめ

  • FileSystemObject を使用して指定されたパス(C:\TEMP)内のファイルを取得します。
  • 特定のファイル(hoge.txtfuga.txt)の名前を表示します。
  • フォルダ内のファイルの総数を表示します。
  • フォルダ内のすべてのファイルの名前を一つずつ表示します。

このコードを実行することで、指定されたフォルダ内のファイルに関する情報を簡単に取得して表示できます。これにより、ファイル管理が容易になります。

Follow me!