※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

フォルダ・ファイルパス取得クラス(Access限定・ダイアログ使用)

機能

  • フォルダ選択ダイアログを使用し、フォルダパスを取得する
  • ファイル選択ダイアログを使用し、ファイルパスを取得する

メモ

  • Access環境下でしか動作しないソースを含みます

ソース

Option Compare Database
Option Explicit

' ACC_ExploreDialogObject
' ダイアログを使用してファイル・フォルダのパス・名前を取得する
' 実行環境がAccess限定です

' SelectFolderPathWithDialog
' フォルダ選択ダイアログを使用し、フォルダパスを取得する
' キャンセルを押された場合は、空文字を返却する
' 実行環境はAccess限定です
' 引数:なし
' 戻り値:String:ダイアログで取得したパス
Public Function SelectFolderPathWithDialog() As String
    Dim resultStr As String
    
    ' AccessのFileDialog関数を使用し、フォルダを取得する
    With Application.FileDialog(4)
        'ダイアログのタイトル
        .Title = "フォルダを選択してください"

        If .Show = True Then
        ' OKが押されている場合
        ' (有効なパスが選択された場合のみOKが押下可能
            resultStr = CStr(.SelectedItems(1))
        Else
            resultStr = ""
        End If
    End With
    
    SelectFolderPathWithDialog = resultStr
End Function

' SelectFilePathWithDialog
' ファイル選択ダイアログを使用し、ファイルパスを取得する
' キャンセルを押された場合は、空文字を返却する
' 実行環境はAccess限定です
' 引数:なし
' 戻り値:String:ダイアログで取得したパス
Public Function SelectFilePathWithDialog() As String

    Dim resultFileName As String

    ' AccessのFileDialog関数を使用し、ファイルを取得する
    With Application.FileDialog(3)
        'ダイアログのタイトル
        .Title = "フォルダを選択してください"
        ' フィルタの初期化
        .Filters.Clear
        '複数ファイル選択を許可しない
        .AllowMultiSelect = False

        If .Show = True Then
        ' OKが押されている場合
        ' (有効なパスが選択された場合のみOKが押下可能
            resultFileName = CStr(.SelectedItems(1))
        Else
            resultFileName = ""
        End If
    End With
    
    SelectFilePathWithDialog = resultFileName
End Function