System info in header/footer.

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

How can I reference system information, i.e. user name, computer name, and
other system info, to put them into the header and footer?
I would like to put the user name and computer name in the footer, for
document tracking purposes.
 
If you want to return the user name that the user has registered with the
application you can use:

ActiveUserName = Application.UserNameInsert

---------------------------------------------------------------------------------
To return the network user name use:

Public Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function ReturnUserName() As String
' returns the NT Domain User Name
Dim rString As String * 255, sLen As Long, tString As String
tString = ""
On Error Resume Next
sLen = GetUserName(rString, 255)
sLen = InStr(1, rString, Chr(0))
If sLen > 0 Then
tString = Left(rString, sLen - 1)
Else
tString = rString
End If
On Error GoTo 0
ReturnUserName = UCase(Trim(tString))
End Function

---------------------------------------------------------------------------------
To return the computer name use:

Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long


Function ReturnComputerName() As String
Dim rString As String * 255, sLen As Long, tString As String
tString = ""
On Error Resume Next
sLen = GetComputerName(rString, 255)
sLen = InStr(1, rString, Chr(0))
If sLen > 0 Then
tString = Left(rString, sLen - 1)
Else
tString = rString
End If
On Error GoTo 0
ReturnComputerName = UCase(Trim(tString))
End Function
 
Here is some code to put in ThisWorkbook module

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim sText As String
With ActiveSheet.PageSetup
sText = "User: " & CreateObject("Wscript.Network").UserName & _
", Computer: " &
CreateObject("Wscript.Network").ComputerName
.LeftFooter = sText
End With
End Sub
 
Shouldn't

ActiveUserName = Application.UserNameInsert

be

ActiveUserName = Application.UserName


And why6 doi you upshift the computer name and user name in those functions?
 
Is there a listing of attributes in those libraries that I can reference?
 
Oops...Yes it should be:

ActiveUserName = Application.UserName

Not quite sure what you mean by upshift the names???
 
Josh, if you don't like the uppercase names, just change:

UCase(Trim(tString))

to:

Trim(tString)
 
Ohhhh, you must mean the uppercase function. There is no need to use the
"UCase" function. This is a copy from previous code, and I must have needed
it for a strcmp or something. I guess I should look a little more closely
before posting old code. I hope I didn't cause Josh any confusion...

I'll post a note to Josh...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top