VBA ダイヤログでフォルダを選択して配下のファイルを全て出力する

  • 作成日 2022.07.07
  • vba
VBA ダイヤログでフォルダを選択して配下のファイルを全て出力する

VBAで、ダイヤログでフォルダを選択して配下のファイルを全て出力する表示コードを記述してます。

環境

  • OS windows10 64bit

配下のファイルを全て出力

配下のファイルを全て出力するには、「Scripting.FileSystemObject」を使用します。

実際に適当なボタンを用意して、ダイヤログで選択したフォルダ配下にあるファイルを全てセルに表示する
以下のソースコードを記述します。

Private Sub CommandButton1_Click()

    Dim strFolderPath As String
    Dim strFileName As String
    
    Dim lngIndex As Long
    
    Dim objFSO  As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    Dim Files As Folder
    Dim File As File
    
    ' ダイヤログ
    With Application.FileDialog(msoFileDialogFolderPicker)
    
        ' 複数選択不可
        .AllowMultiSelect = False
    
        If .Show <> 0 Then
        
            ' フォルダパスを取得
            strFolderPath = .SelectedItems(1)
        
        End If
    
    End With
    
    ' ファイルを全て取得
    Set Files = objFSO.GetFolder(strFolderPath)
    
    For Each File In Files.Files

        lngIndex = lngIndex + 1
        
        Cells(lngIndex, 1).Value = File

    Next File

End Sub

実行してみます。

表示されていることが確認できます。