Я использую VBA для создания объекта FileOpenDialog
, чтобы пользователь мог выбрать каталог. Вот мой тестовый код:
Function GetFolder(InitDir As String) As String
Dim fldr As FileDialog
Dim sItem As String
sItem = InitDir
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Please select a folder, then press OK to continue"
.AllowMultiSelect = False
If Right(sItem, 1) <> "\" Then
sItem = sItem & "\"
End If
.InitialFileName = sItem
If .Show = 0 Then
GetFolder = ""
Exit Function
End If
If .Show <> -1 Then
sItem = InitDir
Else
sItem = .SelectedItems(1)
End If
End With
GetFolder = sItem
Set fldr = Nothing
End Function
sub test()
dim selectedDir as variant
selectedDir=getFolder("c:")
msgbox selectedDir
end sub
Но диалоговое окно, созданное этой функцией, требует, чтобы пользователь дважды щелкнул ОК, чтобы выбрать папку, по которой он щелкнул. Есть ли способ сделать так, чтобы они нажимали ОК только один раз?