Excel VBA 入門講座

Excel VBA Tips Excel VBA 入門講座

ダイアログボックス(GetOpenFilename)

ファイルやフォルダを選択するダイアログボックスを表示する方法の一つにGetOpenFilenameメソッドを使用する方法があります。 書式は以下の通りですが"[]"の引数はすべて省略可能です。


Application.GetOpenFilename([fileFilter],[filterIndex],[title],[buttonText],[multiSelect])

GetOpenFilenameメソッドは、以下の引数を用途に応じて使用します。

引数説明
fileFilterダイアログボックスに表示されるファイルの種類を決定します
filterIndexダイアログボックスにデフォルトで表示されるファイルフィルターを決定します
titleダイアログボックスのタイトルバーに表示する文字列を指定します
buttonTextMacintoshバージョンのExcelでのみ使用します
multiSelectTrueの場合、ユーザーは複数のファイルを選択できます

ダイアログボックスでファイルを選択するサンプルコードです。ダイアログボックスで[キャンセル]ボタンをクリックした場合、 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
実行結果
ダイアログボックス1

以下のサンプルコードではファイルフィルタにより拡張子が"xlsx"のファイルのみダイアログボックスに表示されます。


Sub GetOpenFileName()
    
    Dim varFilePath As Variant

    varFilePath = Application.GetOpenFileName("Excelファイル,*.xlsx")

    If varFilePath = False Then
        MsgBox "キャンセルされました"
    Else
        MsgBox varFilePath & " が選択されました"
    End If
    
End Sub

実行結果
ダイアログボックス2
Excel VBA Tips Excel VBA 入門講座 TOP