I copied the below text in to a new module and named the module "fOSUserName". When I add a control to a form with the source as "=fOSUserName()", I get the following result: #Name?
I am new to VBA and modules so mistake may be something simple. I have read a lot of info on VBA and modules but have not learned enought to figure out my problem. Any advice?
Expand|Select|Wrap|Line Numbers
- ' 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