Excel VBAでファイルの選択ダイアログを表示して、ファイルのフルパスを取得する方法

エンジニア

読了の目安時間: 156

ファイルの選択ダイアログの表示および指定したファイルのフルパス取得には、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では、複数ファイルの取得や、指定した拡張子のファイルのみ選択を限定するなどの調整もできます。

キヨタツ
キヨタツの一言

かなり、便利。

今読んだ記事をシェアする

vba-thumb

Excel VBAでファイルの選択ダイアログを表示して、ファイルのフルパスを取得する方法

  • このエントリーをはてなブックマークに追加
  • Pocket

このブログサイトが参考になった人は、いいねボタン! 更新情報も受け取れます!

arrow
デル株式会社
  • Pocket
  • このエントリーをはてなブックマークに追加

キヨタツ

キヨタツ

WEBを中心に、色々な制作をする個人事業主です。過去、エンジニア&webディレクターで会社勤めをしていました。エンジニアで勤めていた頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、エンジニアの知識はweb業界に入っても、かなり役立ちます。性格は、自虐好きです。