だれかのなにかに役立てるウェブ制作者YoTaの趣味ブログ

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では、複数ファイルの取得や、指定した拡張子のファイルのみ選択を限定するなどの調整もできます。

ページ上部に戻る