View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Log File using VBA in Excel XP or 97

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/