当前位置:  开发笔记 > 后端 > 正文

如何在Access VBA中获取当前登录的Windows用户?

如何解决《如何在AccessVBA中获取当前登录的Windows用户?》经验,为你挑选了2个好方法。

我通过谷歌找到了这个:http://www.mvps.org/access/api/api0008.htm

'******************** Code Start **************************
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
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
'******************** Code End **************************

这是最好的方法吗?



1> bobwienholt..:

你也可以这样做:

Set WshNetwork = CreateObject("WScript.Network")
Print WshNetwork.UserName

它还有一个UserDomain属性和一堆其他东西:

http://msdn.microsoft.com/en-us/library/907chf30(VS.85).aspx



2> Ken..:

您也可以使用Environ $,但问题指定的方法更好.用户/应用程序可以更改环境变量.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有