【Excel/VBA】ファイルダイアログを使う
Excelマクロでファイルダイアログを使う方法です。
ファイルを開く際にファイルを選ばせたり、保存を促したりする際に自動でファイルダイアログを起動させる時に使えます。
ファイルを開く場合(オープンダイアログ)
ファイルを開くためのダイアログを起動させるには以下のソースコードとなります。Application.GetOpenFilename メソッドを使います。引数はファイルタイプです。
返値は指定したファイルのフルパスになりますが、「キャンセル」ボタンを押した際はFalseを返すので、それに応じて処理を変えます。
Sub OpenFileDialog()
fname = Application.GetOpenFilename("Excelファイル,*.xlsx")
If fname <> False Then
MsgBox ("開く処理します。ファイル名: " & fname)
Else
MsgBox ("開く処理を中断します")
End If
End Sub
実行すると以下のようなダイアログが起動します。
ファイルを保存する場合(セーブダイアログ)
ファイルを保存するためのダイアログを起動させるには以下のソースコードとなります。オープンダイアログ同様、Application.GetOpenFilename メソッドを使います。引数はファイルパスとファイルタイプです。セーブダイアログの場合、保存先とファイル名を事前に指定できます。
返値は同じく指定したファイルのフルパスになり、「キャンセル」ボタンを押した際はFalseを返します。
Sub SaveFileDialog()
fname = Application.GetSaveAsFilename("C:\Users...\test.xlsx", "Excelファイル,*.xlsx")
If fname <> False Then
MsgBox ("保存処理します。ファイル名: " & fname)
Else
MsgBox ("保存処理を中断します")
End If
End Sub
実行すると以下のようなダイアログが起動します。
スポンサーリンク

