/ Windows 7 64位计算机上的Environ(“用户名”)错误

时间:2014-01-14 15:49:52

标签: vba

我们在Microsoft Word 2007中运行Microsoft Visual Basic应用程序。数据被写入Access 2000或2002数据库。它在Windows Vista 32位操作系统中正常运行,没有任何问题。但是,当使用Microsoft Word 2007在Windows 7 64位操作系统上运行相同的可视基本代码时,将显示以下VB 错误

username2 = Environ("username")

非常感谢任何协助。

谢谢。

2 个答案:

答案 0 :(得分:2)

修改

尝试CreateObject("WScript.Network").UserName


尝试VBA.Environ("username")

我目前不在Windows 7上,但今天晚些时候我会再测试一下是否找不到解决方案。

答案 1 :(得分:1)

我已广泛使用here中的以下函数,而不会遇到问题。我有几个你正在描述的方法。

Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function fOSUserName() As String
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
    strUserName = String$(254, 0)
    lngLen = 255
    lngX = apiGetUserName(strUserName, lngLen)
    If (lngX > 0) Then
        fOSUserName = Left$(strUserName, lngLen - 1)
    Else
        fOSUserName = vbNullString
    End If
End Function