Проблема с BrowseForFolder
Код:
DIM fso
Set fso = CreateObject("Scripting.FileSystemObject")
DIM objShell
Set objShell = CreateObject("Shell.Application")
Set TreePath = fso.GetFolder(objShell.BrowseForFolder(0, "Выбор", 100, "C:\"))
TreeName = TreePath.name
Set fso = CreateObject("Scripting.FileSystemObject")
DIM objShell
Set objShell = CreateObject("Shell.Application")
Set TreePath = fso.GetFolder(objShell.BrowseForFolder(0, "Выбор", 100, "C:\"))
TreeName = TreePath.name
Есть папка Drivers на диске C и в папке есть разные папки, в том числе папка 123.
Если скрипт запустить из папки драйверс, то он сразу выдаст ошибку.
Если скрипт запустить с диска С, то тогда он без ошибки позволит выбрать только 1 уровень, т .е. пустит в папку Drivers, а дальше будет ошибка.
Вопрос: Как исправить и почему так происходит?
Решилось всё путём использования другой конструкции:
' Создание диалога
Set objShell = CreateObject( "Shell.Application" )
Set objFolder = objShell.BrowseForFolder( 0, "Select Folder", 0, "C:\" )
' Возвращение пути выбранной папки
SelectFolder = objFolder.Self.Path
Таким образом работает углубление на любой уровень.
"Я ВСЕГДА БУДУ ГУГЛИТЬ ПРЕЖДЕ ЧЕМ ЗАДАВАТЬ ВОПРОСЫ"
Цитата: arrjj
А теперь как посвященный ты должен дать клятву:
"Я ВСЕГДА БУДУ ГУГЛИТЬ ПРЕЖДЕ ЧЕМ ЗАДАВАТЬ ВОПРОСЫ"
"Я ВСЕГДА БУДУ ГУГЛИТЬ ПРЕЖДЕ ЧЕМ ЗАДАВАТЬ ВОПРОСЫ"
Я гуглил прежде. Просто не смог до заданного вопроса найти тот самый пример. Плюс в одном месте даже написали что это ограничение.