ファイル選択ダイアログの表示

ブックを開く時に「ファイルを開く」ダイアログを表示して、ユーザーに開くブックを選択してもらうことができます。ここでは Excel VBA でブックを開くときにファイル選択ダイアログを表示する方法について解説します。

(Last modified: )

ファイル選択ダイアログの表示

「ファイルを開く」ダイアログを表示するには Application オブジェクトの「GetOpenFilename」メソッドを使います。

Dim fname As String

fname = Application.GetOpenFilename

メソッドを実行した結果、選択されたファイル名を戻り値として返してきます。ただし、ダイアログで「キャンセル」ボタンをクリックした場合にはファイル名ではなく「False」が帰ってきます。このメソッドではファイル名が取得できるだけなので、ブックを開く場合には取得したファイル名を使って別途ブックを開く処理を行って下さい。

Dim fname As String

fname = Application.GetOpenFilename
If fname <> "False" Then
    Workbooks.Open FileName:=fname
End If

またデフォルトではダイアログのタイトルは「ファイルを開く」ですが、「Title」引数に値を設定することで、タイトルを任意の文字列に変更することができます。

Dim fname As String

fname = Application.GetOpenFilename(Title:="売上ファイルの選択")

サンプルプログラム

では簡単なサンプルで試してみましょう。

Sub テスト()

    Dim fname As String

    fname = Application.GetOpenFilename( _
        Title:="売上ファイルの選択")

    If fname <> "False" Then
		MsgBox "選択したファイルは" & fname & "です"
        Workbooks.Open filename:=fname
    End If

End Sub

上記マクロを実行すると次のようになります。

ファイル選択ダイアログ

ファイルを選択するためのダイアログが表示されます。「2005成績.xls」を選択してから「開く」ボタンをクリックします。

ファイル選択ダイアログ

選択されたファイルが表示されます。ファイル名はフルパスで取得することが分かります。

ファイル選択ダイアログ

選択されたファイル名のブックを開くことができました。

-- --

Excel VBA でブックを開くときにファイル選択ダイアログを表示する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。