logging user name after viewing protected workbook
Alt + F11 to open VBE
CTRL + r to open Project Explorer.
Select your workbook/project and expand it.
Expand Microsoft Excel Objects.
Double-click on Thisworkbook module.
Paste this into that module.
Private Sub Workbook_Open()
Dim sFile As String
Dim sText
Dim ff As Long
sFile = Application.DefaultFilePath
' or maybe
'sFile = ThisWorkbook.Path
If Right$(sFile, 1) < "\" Then sFile = sFile & "\"
sFile = sFile & "logTest.txt"
sText = Environ("Username") & vbTab & Format(Now, "yyyy-mm-dd hh:mm:ss")
'Environ("Username") is the login name of user opening the workbook
ff = FreeFile
Open sFile For Append As #ff
Print #ff, sText
Close #ff
End Sub
Save and close the workbook.
Gord Dibben MS Excel MVP
On Mon, 17 Aug 2009 11:28:02 -0700, Melanie
wrote:
I'm a newbie. Where is the open event? I can't find it in the Modules of
the VBA. Is it somewhere else?
"Eduardo" wrote:
Hi,
see if this solution given in the community helps you
A simple text file should be OK, call this in the open event
Sub test()
Dim sFile As String
Dim sText
Dim ff As Long
sFile = Application.DefaultFilePath
' or maybe
'sFile = ThisWorkbook.Path
If Right$(sFile, 1) < "\" Then sFile = sFile & "\"
sFile = sFile & "logTest.txt"
sText = "ABC" & vbTab & Format(Now, "yyyy-mm-dd hh:mm:ss")
ff = FreeFile
Open sFile For Append As #ff
Print #ff, sText
Close #ff
End Sub
I don't know what fOSUserName() is but replace the "ABC" with it.
"Melanie" wrote:
I have a protected workbook and I would like to know who has accessed the file.
Is there a way to log the user name of whoever has accessed it in a
different file?
Thanks!!
|