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

広告

ブックを開く時に「ファイルを開く」ダイアログを表示して、ユーザーに開くブックを選択してもらうことができます。「ファイルを開く」ダイアログを表示するには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:="売上ファイルの選択")

サンプルプログラム

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

testbooknew3.bas

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 )