【Excel VBA】ファイル選択ダイアログで指定したファイルのパスを取得するマクロ

目次

ファイル選択ダイアログを表示してファイルパスを取得する

下画像のようなファイル選択ダイアログを表示して、ユーザが指定したファイルのパスを取得する VBA マクロについて記載します。

ファイル選択ダイアログを表示してファイルパスを取得するマクロ

以下のように記述することで、ファイル選択ダイアログを表示し、選択されたファイルのパスを変数に格納できます。

Sub sample()
    Dim myFile As Variant
    
    myFile = Application.GetOpenFilename("すべてのファイル(*.*),*.*")    
End Sub

解説

以下の Variant 型の変数 myFile は、取得したファイルパスを格納するための変数です。

    Dim myFile As Variant

以下の行でファイル選択ダイアログを表示します。同時に、ユーザが選択したファイルのパスを変数 myFile に格納します。

    myFile = Application.GetOpenFilename("すべてのファイル(*.*),*.*")

なお、ファイル選択ダイアログでファイルの選択をキャンセルした場合は、変数 myFileFalse が格納されます。

使用例

以下のようにファイル選択ダイアログを表示した後、メッセージボックスで変数 myFile の値を表示してみます。

Sub sample()
    Dim myFile As Variant
    
    myFile = Application.GetOpenFilename("すべてのファイル(*.*),*.*")
    
    MsgBox myFile
End Sub

ファイル選択ダイアログで適当なファイルを選択した場合、変数 myFile の値は以下のように選択したファイルのパスになります。

ファイル選択ダイアログでファイルの選択をキャンセルした場合、変数 myFile の値は以下のように False になります。

なお、この FalseBoolean 型の値です。

ファイル選択ダイアログでファイルが選択された場合のみ何かの処理をしたい場合、以下のように If 文で条件式に myFile <> False と記述することで実現できます。

Sub sample()
    Dim myFile As Variant
    
    myFile = Application.GetOpenFilename("すべてのファイル(*.*),*.*")
    
    If myFile <> False Then
        MsgBox myFile
    End If
End Sub

あわせて読みたい
Excel VBA マクロ作成用情報まとめ 【初学者向け情報】 【Excel VBA】初心者からマクロを作成できるようになるまでの学習ロードマップ 【Excel VBA マクロ独学者・初心者向け】VBA 学習の第一歩【このペー...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

とあるエンジニアです。

当ブログでは Excel VBA のマクロ作成に役立つ情報を中心に情報展開しています。

Excel VBA マクロを使いこなして時短し、人生の質『QOL』を高めていきましょう。

プロフ画像:Copyright (C) SQUARE ENIX CO., LTD. All Rights Reserved.

目次