#excel #vba
Вопрос:
У меня есть следующий код VBA, который работает:
Sub TfrSec()
Dim argh As Double
argh = Shell("C:UsersAvishenDesktopTransfer Rates File.bat", vbNormalFocus)
End Sub
Я хочу изменить Авишен так, чтобы он автоматически выбирал текущего пользователя, который входит в систему в Windows.
Спасибо за помощь
Комментарии:
1. Проверять
Environ("Username")
. Я думаю, это именно то, что тебе нужно.2. Разве нет также «рабочего стола» среды?
3. @Andreas нет, но для пользовательского файла,
Environ("USERPROFILE")
который дает вамC:UsersAvishen
4. Я, наверное, думал о специальных папках
CreateObject("WScript.Shell").specialfolders("Desktop")
5. @Andreas не видит в этом никакой пользы по сравнению с использованием
Environ("USERPROFILE") amp; "Desktop"
.
Ответ №1:
Используйте функцию Environ для извлечения переменных среды, заданных в Windows.
Sub TfrSec()
Dim argh As Double
argh = Shell(Environ("USERPROFILE") amp; "DesktopTransfer Rates File.bat", vbNormalFocus)
End Sub
Список доступных переменных в Windows 10 см. Здесь.