ie-excel

エクセル・マクロでie操作

ファイル選択のダイアログを表示する

2018/11/01

Excelのシートにファイルパスやフォルダー名を記述させるのではなく、ダイアログから選択する方法について簡単なサンプルを作ったのでアップします。

よく使用するため関数として使用することとしています。

ファイルの選択

ファイルの選択方法です。

Public Function FncFileSelect(Optional strTitle As String = "ファイルを選択してください。", _
                              Optional blnAllowMultiSelect As Boolean = False) As String
    Dim buf As String
    Dim sItem As Variant
    Dim myFSO As Object
    
    FncFileSelect = vbNullString
    Set myFSO = CreateObject("Scripting.FileSystemObject")
    With Application.FileDialog(3)      '3=msoFileDialogFilePicker
        .AllowMultiSelect = blnAllowMultiSelect
        .Title = strTitle
        If .Show = 0 Then Exit Function
        For Each sItem In .SelectedItems
            If Len(buf) = 0 Then
                buf = myFSO.GetParentFolderName(sItem)
            End If
            buf = buf & "|" & myFSO.GetFileName(sItem)
        Next
    End With
    FncFileSelect = buf
    Set myFSO = Nothing
End Function

 

 

フォルダーの選択

フォルダーの選択方法です。

Public Function FncFolderSelect(Optional strTitle As String = "フォルダを選択してください。") As String
    FncFolderSelect = ""
    With Application.FileDialog(4)      '4=msoFileDialogFolderPicker
        .AllowMultiSelect = False
        .Title = strTitle
        If .Show = 0 Then Exit Function
        FncFolderSelect = .SelectedItems(1)
    End With
End Function

 

-VBA