ray88’s diary

お仕事で困ったとき用の自分用の覚書

AccessVBA ダイアログを表示してファイルパスまたはフォルダパスを取得

■ファイルパスを取得

Function fncGetFilePath() As String
'---------------------------------------------------------------------------------
'機能:ファイル選択ダイアログを表示し、選択したファイルパスを返す
'戻り値:ファイルパス
'----------------------------------------------------------------------------------
    Dim objDialog As Object   'FileDialogオブジェクト格納用
    'FileDialogオブジェクトをインスタンス化
'    Set objDialog = Application.FileDialog(msoFileDialogFilePicker)
    Set objDialog = Application.FileDialog(3)

    'ダイアログを開いて選択したフォルダを親フォルダパスに指定
    If objDialog.Show Then
        fncGetFilePath = objDialog.SelectedItems(1)
    Else
        fncGetFilePath = ""
    End If
End Function

■フォルダパスを取得

Function fncGetFolderPath() As String
'--------------------------------------------------------------------------------
'機能:フォルダ選択ダイアログを表示し、選択したフォルダパスを返す
'戻り値:フォルダパス
'--------------------------------------------------------------------------------    
    Dim objDialog As Object   'FileDialogオブジェクト格納用    
    'FileDialogオブジェクトをインスタンス化
'    Set objDialog = Application.FileDialog(msoFileDialogFolderPicker)
    Set objDialog = Application.FileDialog(4)
    'ダイアログを開いて選択したフォルダを親フォルダパスに指定
    If objDialog.Show Then
        fncGetFolderPath = objDialog.SelectedItems(1)
    Else
        fncGetFolderPath = ""
    End If
End Function