From: Trevor Shuttleworth )
Subject: Code to show login name
Newsgroups: microsoft.public.excel.programming
Date: 2001-01-16 12:54:01 PST
Private Declare Function apiGetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nsize As Long) As Long
Sub GetUserNameTest()
MsgBox fOSUserName
End Sub
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 = ""
End If
End Function
Regards
Trevor
--
Regards,
Tom Ogilvy
"rcweinbe " wrote in message
...
I am trying to use VBA in an Auto_Open Macro in Excel XP. I am trying
to log the username that is stored in the system registry under the
actual username and not just the application's username which may be a
generic or blank name. Here's what I have:
Private Sub Workbook_Open()
LogInformation ThisWorkbook.Name & "; " & Now() & "; Opened By " &
_
Application.UserName & "; Printer: " &
Mid(Application.ActivePrinter, 12, 8)
End Sub
Sub LogInformation(LogMessage As String)
Const LogFileName As String = "P:\Rick\Log
Files\Daily_Report\DailyReportLog.log"
Dim FileNum As Integer
FileNum = FreeFile ' next file number
Open LogFileName For Append As #FileNum ' creates the file if it
doesn't exist
Print #FileNum, LogMessage ' write information at the end of the
text file
Close #FileNum ' close the file
End Sub
Any ideas how to get the System User Name from the registry or any
other location?
Thanks,
Rick
---
Message posted from http://www.ExcelForum.com/