ファイルやフォルダを選択するダイアログボックスを表示する方法の一つにGetOpenFilenameメソッドを使用する方法があります。 書式は以下の通りですが"[]"の引数はすべて省略可能です。
Application.GetOpenFilename([fileFilter],[filterIndex],[title],[buttonText],[multiSelect])
GetOpenFilenameメソッドは、以下の引数を用途に応じて使用します。
引数 | 説明 |
---|---|
fileFilter | ダイアログボックスに表示されるファイルの種類を決定します |
filterIndex | ダイアログボックスにデフォルトで表示されるファイルフィルターを決定します |
title | ダイアログボックスのタイトルバーに表示する文字列を指定します |
buttonText | MacintoshバージョンのExcelでのみ使用します |
multiSelect | Trueの場合、ユーザーは複数のファイルを選択できます |
ダイアログボックスでファイルを選択するサンプルコードです。ダイアログボックスで[キャンセル]ボタンをクリックした場合、 False(Boolean型)が戻り値となり、ファイルを選択して[OK]ボタンをクリックした場合、ファイルパス(文字列型)が戻り値ととなります。 サンプルコードを実行するとファイルを選択できるダイアログボックスが表示され、ファイル選択後[OK]ボタンをクリックするとファイルパスが表示されます。
Sub GetOpenFileName()
Dim varFilePath As Variant
varFilePath = Application.GetOpenFileName()
If varFilePath = False Then
MsgBox "キャンセルされました"
Else
MsgBox varFilePath & " が選択されました"
End If
End Sub
実行結果 |
---|
以下のサンプルコードではファイルフィルタにより拡張子が"xlsx"のファイルのみダイアログボックスに表示されます。
Sub GetOpenFileName()
Dim varFilePath As Variant
varFilePath = Application.GetOpenFileName("Excelファイル,*.xlsx")
If varFilePath = False Then
MsgBox "キャンセルされました"
Else
MsgBox varFilePath & " が選択されました"
End If
End Sub
実行結果 |
---|