Windows 8升级后,VBA中的Environ(“USERNAME”)返回“User”

前端之家收集整理的这篇文章主要介绍了Windows 8升级后,VBA中的Environ(“USERNAME”)返回“User”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Access数据库,需要使用Environ(“USERNAME”)检查用户用户名.
虽然这适用于使用Win7的用户,但我最近升级到Win8,代码在我的笔记本电脑上返回文本“User”.我也尝试过CreateObject(“WScript.Network”).用户名具有相同的结果.

>这是Windows 8的事情,当其他用户升级时我会遇到问题吗?
>有没有办法可以更改/配置这个“用户”文本?我的笔记本电脑没有连接到其他用户正在使用的公司网络,因此当他们升级到Win8时,他们的笔记本电脑将返回正确的网络用户名.

解决方法

我会使用这个Windows API调用

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

    Public Function GetWindowsUserName() As String
        Dim strUserName As String
        strUserName = String(100,Chr$(0))
        GetUserName strUserName,100
        GetWindowsUserName = Left$(strUserName,InStr(strUserName,Chr$(0)) - 1)
    End Function

猜你在找的Windows相关文章