ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Log File using VBA in Excel XP or 97 (https://www.excelbanter.com/excel-programming/308416-log-file-using-vba-excel-xp-97-a.html)

rcweinbe

Log File using VBA in Excel XP or 97
 
I am trying to use VBA in an Auto_Open Macro in Excel XP. I am tryin
to log the username that is stored in the system registry under th
actual username and not just the application's username which may be
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\Lo
Files\Daily_Report\DailyReportLog.log"
Dim FileNum As Integer
FileNum = FreeFile ' next file number
Open LogFileName For Append As #FileNum ' creates the file if i
doesn't exist
Print #FileNum, LogMessage ' write information at the end of th
text file
Close #FileNum ' close the file

End Sub

Any ideas how to get the System User Name from the registry or an
other location?

Thanks,

Ric

--
Message posted from http://www.ExcelForum.com


Tom Ogilvy

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/




George Nicholson[_2_]

Log File using VBA in Excel XP or 97
 
The following VBA code uses an API call to get the Current User Name.
http://www.mvps.org/access/api/api0008.htm

The link is to "The Access Web", but it is by no means Access specific. It
works just fine in Excel.

--
George Nicholson

Remove 'Junk' from return address.


"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/





All times are GMT +1. The time now is 05:29 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com