Logic Delight

明日のワシは忘れてしまうから、コードにはコメントを書くのです。

ファイルを開くダイアログ

以下のようなフィルタ文字列を定義しておいて、

Const FILTER_STRING As String = "Excel ブック (*.xls),*.xls,CSVファイル (*.csv),*.csv,テキストファイル(*.txt),*.txt,すべてのファイル (*.*),*.*"

ファイルを開くダイアログ(単一選択)

Sub DispOpenFileName()
	Dim Ret As Variant

	Ret = Application.GetOpenFilename(FILTER_STRING)

	If Ret = False Then
		MsgBox "キャンセルが選択されました。"
	Else
		MsgBox Ret & "が選択されました。"
	End If
End Sub

ファイルを開くダイアログ(複数選択)

Sub DispMultiOpenFileName()
	Dim Ret As Variant

	Ret = Application.GetOpenFilename(FILTER_STRING, , , , True)

	If IsArray(Ret) Then
		Dim i As Long
		For i = LBound(Ret) To UBound(Ret)
			MsgBox Ret(i) & "が選択されました。"
		Next
	Else
		MsgBox "キャンセルが選択されました。"
	End If
End Sub