ファイルダイアログを表示して、ファイル名を取得する
VBAマクロを実行する際、フォルダ内のファイルに対して何かを処理する事も多いかと思います。
当方へご依頼頂いた際、ユーザー様の要望に合わせて、ファイルダイアログで選択する場合や、
ファイルパスをセル上に直打ちするケースがあります。
今回はファイルダイアログで選択する処理を、パーツ化しました。
ファイルダイアログを表示して、ファイル名を取得するサンプルコード
’■ファイルダイアログからファイル名を取得する Public Function Call_FileOpen(MyFiles As Variant) As Boolean With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = True '複数ファイルを開くかどうか .Filters.Clear .Filters.Add "Excelファイル", "*.xls*" .Filters.Add "CSVファイル", "*.csv" .Filters.Add "テキストファイル", "*.txt" .Filters.Add "CSVファイル", "*.txt;*.csv" .InitialFileName = ThisWorkbook.Path '初期表示フォルダ .Title = "ブックを選択してください" If Not .Show Then Exit Function Set MyFiles = .SelectedItems Call_FileOpen = True End With End Function
使い方
実際の使い方は以下です。
Public Sub sample() Dim MyFiles As Variant If Call_FileOpen(MyFiles) = False Then Exit Sub End Sub
注意点
- 取得したデータ(myFiles)は複数選択された場合は配列で戻ってきます。
コメント