結論
Sub SelectFile()
Dim fileName As Variant
fileName = Application.GetOpenFilename("CSVファイル(*.csv),*.csv", , "ファイルを選択してください")
If VarType(fileName) = vbBoolean And Not fileName Then
' ファイルが選択されなかった場合は何もしない
Else
' 選択されたファイルを処理する
MsgBox "選択されたファイル: " & fileName
' ここにファイルを読み込んで処理するコードを記述する
End If
End Sub
解説
上記のVBAコードでは、Application.GetOpenFilename()
メソッドを使用して、CSVファイルのみを選択できるように指定したファイル選択ダイアログを表示しています。fileName変数には、選択されたファイルのパスが代入されます。選択されたファイルがない場合は、VarType()関数を使用して、fileName変数がブール型かどうかを判定し、ファイルが選択されなかった場合は何もしないようにしています。選択されたファイルがある場合は、MsgBox関数を使用して選択されたファイルのパスを表示しています。そして、ファイルを読み込んで処理するコードを記述する箇所に処理を記述することができます。
なお、Application.GetOpenFilename()
メソッドでは、拡張子やファイル形式を指定することができます。上記の例では、CSVファイルのみを選択できるようにしています。また、Application.GetSaveAsFilename()
メソッドを使用することで、ファイル保存ダイアログを表示してファイルを保存することもできます。