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

Forumthread: Username bei öffnen von Excel auslesen

Username bei öffnen von Excel auslesen
25.01.2008 17:57:10
Excel
Hallo,
schwierige Frage, kann jemand helfen?
Beim ersten Mal öffnen einer Exceldatei möchte ich den angemeldeten User auslesen und den Namen in einer Zelle speichern. Diese darf nicht bei erneutem öffnen überschrieben oder gelöscht werden.
Beim zweiten Mal öffnen der Datei, soll der Username erneut ausgelesen werden und mit dem beim ersten Mal in der Zelle gespeicherten Usernamen verglichen werden. Sind die Namen gleich, dann ist alles ok sind die Namen verschieden, soll die Meldung kommen zb. du bist nicht der Richtige oder so ähnlich.
Hoffe ist etwas verständlich.
Danke an der Stelle
T.

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Username bei öffnen von Excel auslesen
25.01.2008 18:21:00
Excel
Hallo Torge,
vom Prinzip her egeht das so.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
With Sheets("Tabelle1")
    If .Range("A1") = "" Then
        .Range("A1") = Environ("USERNAME")
        Me.Save
    ElseIf .Range("A1") <> Environ("USERNAME") Then
        MsgBox "Unerlaubter Zugriff!", vbExclamation, "Hinweis"
        Me.Close False
    End If
End With
End Sub

Das lässt sich aber, wie alle Schutzbemühungen in Excel, leicht umgehen.
Gruß Sepp

Anzeige
AW: Username bei öffnen von Excel auslesen
25.01.2008 18:21:00
Excel
HAllo
Verfolg mal diesen Ansatz:
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit
Private Sub Workbook_Open()
Dim Zelle As Range
Set Zelle = Sheets("tabelle1").Range("A1")
If Zelle = "" Then
    Zelle = Environ("Username")
    MsgBox "Alles OK."
    Else:
    MsgBox "Du bist nicht der richtige"
End If
End Sub

ransi

Anzeige
AW: Username bei öffnen von Excel auslesen
25.01.2008 18:26:53
Excel
Hallo Ransi,
Getestet? Damit ist niemand jemals "der richtige", denn sobald der erste User in A1 eingetragen wird, ist Zelle nicht mehr "" !
pedantische Grüße,
Klaus MvdT.

AW: Username bei öffnen von Excel auslesen
25.01.2008 19:55:51
Excel
Hallo Ransi,
vielen Dank für den Ansatz. Das Problem ist, das ebend beim ersten Öffnen der Datei, der Usernam über das System ausgelesen werden soll. Dieser soll dann auch in eine Zelle eingetragen werden und darf dann dort nicht gelöscht werden, denn diesen benötigt man für einen Vergleich beim zweiten Öffnen der Datei. Beim zweiten Öffnen soll überprüft werden, ist der aus dem System ausgelesene User der gleiche wie beim ersten Öffnen. Wenn beim ersten Öffnen der Usernam aus der Zelle wieder gelöscht ist, ist ja auch kein Vergleich möglich. Nun kommt es. Jetzt wird die Datei auf einen anderen PC geöffnet. Dort ist nun, gehen wir mal davon aus, eine anderer Username vorhanden, der dann ausgelesen werden soll. Nun soll dieser mit dem in der Zelle gespeicherten ersten Username verglichen werden. Dieser dürft ja nun nicht übereinstimmen, also dann Datei schließen, ist ja nicht der richige User zb.
Hoffe so ungefähr verständlich?
Gr. T.

Anzeige
AW: Username bei öffnen von Excel auslesen
27.01.2008 21:28:00
Excel
Hallo,
Option Explicit

Private Sub Workbook_Open()
Dim Zelle As Range
Set Zelle = Sheets(1).Range("A1")
If Zelle = "" Then
Zelle = Environ("Username")
ElseIf Zelle = Environ("Username") Then
MsgBox "Alles OK."
Else
MsgBox "Du bist nicht der richtige"
End If
End Sub


einfach denn letzten Ansatz weiter verfolgt.
Hoffe das hilft. Du kannst ja noch mehr Anweisung einbauen, anstatt nur der MsgBoxen.
Niki
P.S. Rückmeldung wäre nett

Anzeige
AW: Username bei öffnen von Excel auslesen
27.01.2008 22:05:00
Excel
Alles klar Niki,
habe es hinbekommen, funktioniert erst mal so, wie es sein sollte.
Danke noch mal und schönen Abend noch.
Gr. T.
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel Usernamen beim Öffnen auslesen und vergleichen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke im Projektfenster auf "DieseArbeitsmappe".

  4. Füge den folgenden VBA-Code ein:

    Private Sub Workbook_Open()
       Dim Zelle As Range
       Set Zelle = Sheets(1).Range("A1")
    
       If Zelle = "" Then
           Zelle = Environ("USERNAME")
           Me.Save
       ElseIf Zelle = Environ("USERNAME") Then
           MsgBox "Alles OK."
       Else
           MsgBox "Du bist nicht der richtige Benutzer!"
           Me.Close False
       End If
    End Sub
  5. Schließe den VBA-Editor und speichere die Arbeitsmappe als Excel-Makro-fähige Datei (*.xlsm).

  6. Schließe Excel und öffne die Datei erneut, um den Username zu testen.


Häufige Fehler und Lösungen

  • Fehler: Der Benutzername wird nicht in die Zelle eingetragen.

    • Lösung: Stelle sicher, dass die Range ("A1") korrekt angegeben ist und dass die Zelle nicht bereits mit einem Wert gefüllt ist.
  • Fehler: Meldung "Du bist nicht der richtige Benutzer!" erscheint, obwohl du es bist.

    • Lösung: Überprüfe, ob der Benutzername des aktuellen Windows-Benutzers korrekt abgerufen wird. Dies kann durch die Umgebungsvariable "USERNAME" erfolgen.

Alternative Methoden

Eine alternative Methode ist die Verwendung von Excel-Formeln, um den Benutzernamen anzuzeigen. Dies kann jedoch die Funktionalität zum Vergleichen der Namen beim Öffnen der Datei nicht ersetzen.

  • Excel-Formel:
    =INFO("username")

Dies zeigt den Benutzernamen in einer Zelle an, kann aber nicht gespeichert oder zum Schließen der Datei verwendet werden.


Praktische Beispiele

Ein Beispiel für die Implementierung könnte wie folgt aussehen:

  • Erstes Öffnen: Der Benutzer öffnet die Datei und der aktuelle Benutzername wird in Zelle A1 gespeichert.
  • Zweites Öffnen: Ein anderer Benutzer öffnet die Datei und die Meldung „Du bist nicht der richtige Benutzer!“ erscheint, wenn der Username nicht übereinstimmt.

Tipps für Profis

  • Nutze das Environ-Kommando, um den Windows-Benutzernamen zuverlässig auszulesen.
  • Denke daran, die Datei regelmäßig zu speichern, um sicherzustellen, dass die Benutzerdaten nicht verloren gehen.
  • Experimentiere mit weiteren VBA-Anweisungen, um zusätzliche Sicherheitsfunktionen zu integrieren, wie z.B. das Protokollieren von Zugriffen.

FAQ: Häufige Fragen

1. Wie kann ich den Username in einer anderen Zelle speichern?
Du kannst die Range in der VBA-Funktion anpassen, z.B. Set Zelle = Sheets(1).Range("B1"), um den Benutzernamen in Zelle B1 zu speichern.

2. Funktioniert dieser Code in Excel 2016?
Ja, der VBA-Code funktioniert in Excel 2016 sowie in anderen neueren Versionen von Excel.

3. Kann ich den Code anpassen, um mehrere Benutzer zuzulassen?
Ja, du kannst eine Liste von erlaubten Benutzern in einer anderen Zelle speichern und den eingegebenen Username mit dieser Liste vergleichen.

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