2014-11-03 2 views
2

Приложение, в котором я работаю, требует от пользователей выбора папки с помощью msoFileDialogFolderPicker, и это довольно полезно открывает папку выбора папок в последнем месте. Однако наши пользователи иногда меняют имя папки в пути. Это вызывает диалоговое окно «Расположение недоступно». Это пугает наших пользователей, поскольку они не знают, что происходит.Получение исходного пути msoFileDialogFolderPicker

Мой вопрос в том, как узнать, каким будет исходное местоположение папки? Я могу тогда заманить в ловушку, потому что вместо этого он просто установил его по умолчанию.

Мой код очень просто

GetFolder As String 
Set folder = Application.FileDialog(msoFileDialogFolderPicker) 

With folder 
    .Title = "Please Select a Folder" 
    .InitialFileName = "C:\" 
    .AllowMultiSelect = False 

    If .Show <> -1 Then Goto EndSub 
    GetFolder = .SelectedItems(1) 
End With 

Благодаря

ответ

1

Рассмотрим:

Sub qwerty() 
    Dim fldr As FileDialog 
    Set fldr = Application.FileDialog(msoFileDialogFolderPicker) 
    MsgBox fldr.InitialFileName 
End Sub 
+0

Вот это спасибо! Мне также пришлось вынуть '.InitialFileName =" C: \ "'. Он по-прежнему не отвечал последним папкам, но эта переменная все еще читала C: \. Bizarre, но исправлено – Smittey

+0

@Smittey Что мне интересно, так это то, что * Object * имеет свойства по умолчанию. –

+0

Я думал, что это правильно, но я ошибаюсь. Это не создает путь к FolderPicker в '.show'. Это может быть уникальным для меня, но он отображает путь на один уровень ниже. – Smittey

Смежные вопросы