Получить пути системных папок: Мои документы, Пуск>Программы, Рабочий стол и т.п.
На разных компьютерах путь к папке Мои документы, естественно, разный. Этим страдают и другие системные папки. Если мы хотим узнать путь к папке, скажем «Пуск>Программы», здесь нам Environ() не поможет. Можно обратиться к реестру, а значит поставить в проект огромный модуль от Microsoft, а можно напечатать буквально четыре строчки:
Function GetSpecialFolder(Id%) As String
Dim WSO As Object: Set WSO = CreateObject("WScript.Shell")
GetSpecialFolder = WSO.SpecialFolders(Id)
End Function
Dim WSO As Object: Set WSO = CreateObject("WScript.Shell")
GetSpecialFolder = WSO.SpecialFolders(Id)
End Function
Эта функция будет возвращать нам полный путь к системной папке, нам остается лишь указать Id-номер папки. Вот список:
- 0 - Рабочий стол (для всех пользователей)
- 1 - Меню «Пуск» (общее)
- 2 - Пуск>Программы (общее)
- 3 - Пуск>Программы>Автозагрузка (общее)
- 4 - Рабочий стол
- 5 - Папка ApplicationData текущего пользователя
- 6 - Папка PrintHood текущего пользователя
- 7 - Папка Шаблоны текущего пользователя
- 8 - Папка Windows\Fonts
- 9 - Папка NetHood текущего пользователя
MsgBox "Путь к Вашему Рабочему столу: " & GetSpecialFolder(4)
Функция взята из модуля FSO Examples, в котором содержатся все функции по работе с файловой системой! Его можно скачать в разделе «Исходники».
Оригинальная статья Влада Рубцова. https://vladikcomper.scanf.su/