如何在VBA中获取当前用户名?

时间:2011-06-06 17:07:24

标签: excel vba username

我只需要获取当前用户的名称,以便我可以访问其文件夹中的app数据文件夹.... 我必须在VBA这样做,所以是的...请帮助。

3 个答案:

答案 0 :(得分:9)

您不需要用户名来了解哪个文件夹是应用程序数据文件夹。

您需要将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))

答案 1 :(得分:8)

我相信它就像

Environ("Username")

答案 2 :(得分:0)

类似于已接受的答案(Environ(“用户名”),App Data文件夹有一个环境变量,因此您可以使用:

Environ("APPDATA")

仅供参考,here是显示完整的环境变量列表的良好链接。 Windows有一些通用的,有些可以注册为特定于应用程序的。