Как получить текущее имя пользователя в VBA? - PullRequest
2 голосов
/ 06 июня 2011

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

Ответы [ 2 ]

9 голосов
/ 06 июня 2011

Вам не нужно имя пользователя, чтобы знать, какая папка является папкой данных приложения.

Вам необходимо использовать функцию SHGetFolderPath со значением CSIDL_APPDATA.

Private Declare Function SHGetFolderPath Lib "shell32.dll" Alias "SHGetFolderPathA" (ByVal hwnd As Long, ByVal csidl As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long
Private Const CSIDL_APPDATA As Long = &H1A
Private Const MAX_PATH As Long = 260

Dim s As String
s = String$(MAX_PATH, 0)

SHGetFolderPath 0, CSIDL_APPDATA, 0, 0, s

MsgBox Left$(s, InStr(1, s, vbNullChar))
8 голосов
/ 06 июня 2011

Я считаю, что это что-то вроде

Environ("Username")

...