Excel VBAでファイルの選択ダイアログを表示して、ファイルのフルパスを取得する方法
ファイルの選択ダイアログの表示および指定したファイルのフルパス取得には、GetOpenFilename関数を使います。
GetOpenFilename関数の使い方
▼構文
Object.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
▼GetOpenFilenameの詳細
https://msdn.microsoft.com/ja-jp/library/office/ff834966.aspx
例外処理を入れて記述すると、下記の感じです。
Sub file_cap()
Dim h_txt As String
Dim f_Path As Variant
Dim ws As Worksheet
'プロパティの宣言
Set ws = ActiveSheet
'例外処理
On Error GoTo solve_err
'ポップアップ・ダイアログの見出しタイトルを指定
h_txt = "Excelファイルを選択して下さい"
'ファイル参照ダイアログの表示
f_Path = Application.GetOpenFilename("", , h_txt)
If f_Path = False Then
'キャンセルボタン時は終了
End
End If
'取得したフルパスを表示
MsgBox f_Path
Exit Sub
solve_err:
MsgBox "エラー番号:" & Err.Number
MsgBox "エラー内容:" & Err.Description
MsgBox "ヘルプファイル名" & Err.HelpContext
MsgBox "プロジェクト名:" & Err.Source
Resume Next
End Sub
MsgBoxにしているところを、セルや変数に代入することで、vba処理の中で、ファイルのフルパスを扱うことができます。
またGetOpenFilenameでは、複数ファイルの取得や、指定した拡張子のファイルのみ選択を限定するなどの調整もできます。