EXCEL、VBA

【VBA】ファイルダイアログを表示する

 

ファイルダイアログを表示する構文

ファイルダイアログを表示する構文は次のとおり。

'ファイルダイアログを表示する
ChDir defaultFolder  'ファイルダイアログを初期表示するフォルダを指定
Application.GetOpenFilename ("全てのファイル,*.*")  'ファイルダイアログを表示する

 

 

ファイルダイアログを表示する関数

ファイルダイアログを表示する関数です。

初期表示するフォルダ、ファイルの種類でフィルタできるようにしています。

引数 fileKubun:ファイルの種類で絞るフラグ(0:全てのファイル、1:テキストファイル、2:Excelファイル、3:Wordファイル、4:画像ファイル)

戻り値 選択したファイルのパス(ファイルダイアログをキャンセルした場合は””)

Public Function showFileDialog(Optional ByVal fileKubun As Integer = 0, Optional ByVal defaultFolder As String = "C:\") As String

    Dim Target As String

    'ファイルダイアログを初期表示するフォルダ
    ChDir defaultFolder
    
    Select Case fileKubun
        Case 0
            Target = Application.GetOpenFilename("全てのファイル,*.*")
        Case 1
            Target = Application.GetOpenFilename("テキストファイル,*.txt")
        Case 2
            Target = Application.GetOpenFilename("Excelファイル,*.xls*")
        Case 3
            Target = Application.GetOpenFilename("Wordファイル,*.doc*")
        Case 4
            Target = Application.GetOpenFilename("画像ファイル,*.jpg")
    End Select

    If Target = "False" Then
        showFileDialog = ""
        Exit Function
    End If
    
    showFileDialog = Target
    
End Function

 

実行例

'ファイルダイアログを表示。フォルダ"C:\test"を表示し、テキストファイルで抽出
Call showFileDialog(1, "C:\test")

'ファイルダイアログを表示。フォルダ"C:\test2"を表示し、Excelファイルで抽出
Call showFileDialog(3, "C:\test2")