HOME > 即効テクニック > AccessVBA > ユーザーインターフェース > ファイル参照ダイアログボックスを表示する

即効テクニック

ユーザーインターフェース

ファイル参照ダイアログボックスを表示する

(Access 2000/2002)
● 概要 ●
FileDialogプロパティを使用して、 FileDialogオブジェクトを取得します。
以下のサンプルは、[ファイル選択(複数選択可)]というタイトルのファイル参照ダイアログボックスを表示します。
ファイル参照ダイアログボックスでファイルを選択して[参照]ボタンをクリックすると、選択したファイルのフルパスを表示します。

サンプルの実行前に、参照設定を行う必要があります。メニューバーの[ツール(T)]→[参照設定(R)...]を選択して表示される[参照設定]ダイアログボックスで、「Microsoft Office 10.0 Object Library」にチェックを入れて[OK]ボタンをクリックします。


● サンプル ●

'Access 2002
'参照設定 Microsoft Office 10.0 Object Library

Sub Sample()

    Dim myFName As Variant
    Dim myPrompt As String

   'ファイル参照ダイアログボックスのカスタマイズと表示
    With Application.FileDialog(msoFileDialogFilePicker)
       'ファイルフィルタの設定
        .Filters.Clear
        .Filters.Add "すべてのファイル", "*.*"
        .Filters.Add "Accesssデータベース", "*.mdb"
        .Filters.Add "テキストファイル", "*.txt;*.csv;*.prn"
       '初期選択フィルタの設定
        .FilterIndex = 2
       '複数ファイル選択の許可
        .AllowMultiSelect = True
       'タイトルバーの表示文字列の設定
        .Title = "ファイル選択(複数選択可)"
       'ボタンの表示文字列の設定
        .ButtonName = "参照"
       'キャンセル時にはShowメソッドは0(Long型)を返す
        If CBool(.Show) Then
           '選択ファイルのパスの取得
            For Each myFName In .SelectedItems
                myPrompt = myPrompt & vbCrLf & CStr(myFName)
            Next
            myPrompt = Mid$(myPrompt, 3)
        Else
            myPrompt = "キャンセルされました。"
        End If
    End With
    MsgBox myPrompt, vbInformation, "結果"

End Sub