Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Windows-Benutzer auslesen

Windows-Benutzer auslesen
04.10.2004 14:59:30
Hape
Hallo Leute,
zur Benutzeridentifizierung möchte ich den Benutzernamen, mit dem sich eine Person am Client angemeldet hat, im Autostart-Makro auslesen und als Wert in eine Zelle schreiben.
Für Access habe ich mal ein entsprechendes Makro gefunden (s.u.)! Gibt es etwas ähnliches auch für Excel?
Vielen Dank schon mal vorab!!!
Hape

Function BenutzerName() As String
Dim lngLen As Long
Dim lngX As Long
Dim strBenutzerName As String
strBenutzerName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strBenutzerName, lngLen)
If lngX <> 0 Then
BenutzerName = Left$(strBenutzerName, lngLen - 1)
Else
BenutzerName = ""
End If
End Function

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Windows-Benutzer auslesen
Ulf

Sub uname()
MsgBox Environ("Username")
End Sub

Für NT, 2000 und XP
Ulf
AW: Windows-Benutzer auslesen
04.10.2004 15:08:09
Hape
Vielen Dank!!!!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Windows-Benutzer auslesen in Excel


Schritt-für-Schritt-Anleitung

Um den Windows-Benutzernamen in Excel auszulesen und in eine Zelle zu schreiben, kannst Du VBA (Visual Basic for Applications) verwenden. Hier sind die Schritte, die Du befolgen musst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code und füge ihn in das Modul ein:

    Function BenutzerName() As String
       Dim lngLen As Long
       Dim lngX As Long
       Dim strBenutzerName As String
       strBenutzerName = String$(254, 0)
       lngLen = 255
       lngX = apiGetUserName(strBenutzerName, lngLen)
       If lngX <> 0 Then
           BenutzerName = Left$(strBenutzerName, lngLen - 1)
       Else
           BenutzerName = ""
       End If
    End Function
  4. Um den Benutzernamen in eine Zelle zu schreiben, kannst Du eine weitere Subroutine hinzufügen:

    Sub SchreibeBenutzernameInZelle()
       Range("A1").Value = BenutzerName()
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Drücke ALT + F8, wähle die SchreibeBenutzernameInZelle Subroutine aus und klicke auf Ausführen. Der Benutzername wird in die Zelle A1 geschrieben.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 5: Ungültiger Prozeduraufruf

    • Lösung: Stelle sicher, dass Du die Funktion apiGetUserName korrekt definiert hast und alle benötigten Deklarationen in Dein Modul eingefügt wurden.
  • Fehler: Der Wert wird nicht korrekt angezeigt.

    • Lösung: Überprüfe, ob Du die Subroutine tatsächlich ausgeführt hast. Manchmal kann es sein, dass Du den Code nur in den Editor eingefügt hast, ohne ihn auszuführen.

Alternative Methoden

Du kannst auch die Environ-Funktion verwenden, um den Benutzernamen auszulesen. Hier ist ein einfaches Beispiel:

Sub uname()
    MsgBox Environ("Username")
End Sub

Diese Methode ist einfacher, hat jedoch den Nachteil, dass sie keinen Wert in eine Zelle schreibt. Du kannst den Code leicht anpassen, um die Ausgabe in eine Zelle zu schreiben.


Praktische Beispiele

Um den Benutzernamen in einer Excel-Zelle anzuzeigen, kannst Du den folgenden VBA-Code verwenden:

Sub BenutzerInZelle()
    Range("B1").Value = Environ("Username")
End Sub

Dieser Code schreibt den aktuellen Benutzernamen in die Zelle B1.


Tipps für Profis

  • Verwende die Application.UserName-Eigenschaft, um den in Excel definierten Benutzernamen abzurufen. Dies kann nützlich sein, wenn Du den in Excel eingegebenen Namen, und nicht den Windows-Benutzernamen benötigst.
  • Du kannst auch eine Kombination von VBA und Excel-Formeln verwenden, um den Benutzernamen dynamisch in Deine Arbeitsblätter einzufügen.

FAQ: Häufige Fragen

1. Wie kann ich den Benutzernamen automatisch bei jedem Öffnen der Datei auslesen? Du kannst die Workbook_Open-Ereignisprozedur verwenden, um den Benutzernamen beim Öffnen der Arbeitsmappe auszulesen und in eine Zelle zu schreiben.

2. Funktioniert dieser Code auf allen Windows-Versionen? Ja, der VBA-Code sollte auf Windows 10 sowie älteren Versionen wie Windows 7 und 8 funktionieren, solange Du die richtigen Berechtigungen hast.

3. Gibt es eine Möglichkeit, den Benutzernamen ohne VBA auszulesen? Leider gibt es keine native Excel-Formel, die den Windows-Benutzernamen auslesen kann. VBA ist der beste Weg, um dies zu tun.

Nutze diese Anleitungen, um den Windows-Benutzernamen in Excel auszulesen und Deine Excel-Daten zu personalisieren!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige