PR
ファイルの操作

【Excel VBA】ファイル選択ダイアログ上で選択したファイルだけ開く(複数選択)

マクロ処理を同一フォルダ内の全てのファイルではなく、ファイル選択ダイアログを表示して選択したファイル(複数)にのみ処理を行う場合のコードを紹介します。(今回はファイルを開くのみ)

マクロの流れは以下の通りで、ただダイアログ上で選択したファイルを開くだけです。
1.FileDialogオブジェクトを作成する
 (AllowMultiSelectプロパティをTrueに設定して複数ファイル選択を可能にしておく)
2.ダイアログ上で選択したファイルを順に開く

Sub ファイル選択ダイアログ上で複数選択したファイルを開く()

Dim fileDialog As fileDialog

Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)

'複数のファイルを選択できるようにする
fileDialog.AllowMultiSelect = True

    'ファイル選択ダイアログを表示
    If fileDialog.Show = True Then
    '選択されたファイルを順に開く
        For Each selectedFile In fileDialog.SelectedItems
            Workbooks.Open selectedFile

       '開いたファイルへの処理はここに記入する
       '次のファイルの処理へ移行する前にファイルを閉じるコードを記入する

        Next selectedFile
    
    Else
    End If

End Sub

この処理は「フォームに記載した内容をファイルへ反映する」、「ファイルを結合する」などに使用することが多いです。

コメント