Excel: Beim Drucken den aktuellen Benutzernamen in die Fußzeile eintragen

URL dieses Beitrags: http://blog.stefan-macke.com/2009/02/12/excel-beim-drucken-den-aktuellen-benutzernamen-in-die-fusszeile-eintragen/

Wir haben eine kleine Excel-Anwendung, deren Ergebnisse ab und an mal ausgedruckt werden müssen. Dabei soll jedoch ersichtlich sein, welcher konkrete Benutzer die Ergebnisse ausgedruckt hat. Daher soll bei jedem Druck der Benutzername des aktuell angemeldeten Benutzers in die Fußzeile des Excel-Dokuments eingetragen werden.

Mit einem kleinen Makro, das man einfach der aktuellen Arbeitsmappe hinzufügen kann, und das den besonderen Namen Workbook_BeforePrint bekommt, ist diese Anforderung recht einfach umzusetzen (obwohl zum Ermitteln des Benutzernamens die Windows-Funktion angesprochen werden muss, daher die kryptischen Befehle am Anfang):

Excel-Makro beim Drucken einer Datei ausführen
  1. Option Explicit
  2.  
  3. Private Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
  4. Private Const NO_ERROR = 0
  5. Private Const ERROR_NOT_CONNECTED = 2250&
  6. Private Const ERROR_MORE_DATA = 234
  7. Private Const ERROR_NO_NETWORK = 1222&
  8. Private Const ERROR_EXTENDED_ERROR = 1208&
  9. Private Const ERROR_NO_NET_OR_BAD_PATH = 1203&
  10.  
  11. Private Sub Workbook_BeforePrint(Cancel As Boolean)
  12.   Dim strBuf As String, lngUser As Long, strUn As String
  13.   strBuf = Space$(255)
  14.   lngUser = WNetGetUser("", strBuf, 255)
  15.   If lngUser = NO_ERROR Then
  16.     strUn = Left(strBuf, InStr(strBuf, vbNullChar) – 1)
  17.   End If
  18.  
  19.   With ActiveSheet.PageSetup
  20.     .LeftFooter = ""
  21.     .LeftFooter = "erstellt von " & strUn & " am &D"
  22.   End With
  23. End Sub

Kommentare zu diesem Beitrag

  1. Gravatar Gunther
    Am 27. Februar 2009 um 01:58 Uhr

    Wow, genau das, was ich gesucht habe. Jetzt kann ich mit meiner Lohnabrechnung weitermachen.

    Vielen Dank und weiter so!
    Viele Grüße,

    Gunther

  2. Gravatar Fanime
    Am 23. März 2009 um 20:54 Uhr

    Danke für den Tipp. Bei unseren Reports hat das auch noch immer gefehlt, der Druckzeitpunkt wurde schon durch den Drucker aufgebracht und so können wir auch noch den Namen des Ausdruckenden protokollieren!

    Fanime

Einen Kommentar schreiben

XHTML: Diese Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>