Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zugriffe Protokollieren

Zugriffe Protokollieren
23.07.2008 08:15:00
Ralf
Hallo an Alle,
kann man Zugriffe auf eine Excel-Datei(bei den Zugriffen wird in der Datei nichts geändert) in der gleichen Datei in einem vesteckten Tabellenblatt Protokollieren?
Grüße
Ralf

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriffe Protokollieren
23.07.2008 09:30:52
Andi
Hi,
kopiere dies ins Modul "DieseArbeitsmappe":

Private Sub Workbook_Open()
With Sheets("Protokoll")
.Range("A65536").End(xlUp).Offset(1, 0) = Now
.Range("B65536").End(xlUp).Offset(1, 0) = Environ("Username")
.Visible = xlSheetVeryHidden
End With
ThisWorkbook.Save
End Sub


Das Tabellenblatt "Protokoll" kann nur per VBA bzw über das Eigenschaftsfenster im VBA-Editor eingeblendet werden. Wenn Du das Blatt ganz normal über das Menü einblenden willst, dass ersetze xlSheetVeryHidden durch xlSheetHidden.
Ob so eine Protokollierung in Puncto Datenschutz OK ist, musst Du selber abklären!
Schönen Gruß,
Andi

Anzeige
AW: Zugriffe Protokollieren
23.07.2008 09:35:31
Ralf
Danke läuft super!!!!

gern geschehen... (mt)
23.07.2008 12:06:37
Andi
Hi,
gern geschehen.
Bedenke aber dass das ganze nur funktioniert, wenn Makros aktiviert sind. Außerdem wird es zu Problemen kommen, wenn ein Nutzer die Mappe offen hat, und ein zweiter sie dann schreibgeschützt öffnet; nach dem Protokoll-Eintrag wird die Datei zwangsweise gespeichert, und dies geht dann nicht mehr.
Für beide Punkte finden sich aber ggf Lösungen im Herber-Archiv.
Schönen Gruß,
Andi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zugriffe Protokollieren in Excel


Schritt-für-Schritt-Anleitung

Um Zugriffe auf eine Excel-Datei zu protokollieren, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird beim Öffnen der Datei ausgeführt und protokolliert das Zugriffsdatum sowie den Benutzernamen in einem versteckten Tabellenblatt:

  1. Öffne die Excel-Datei.

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

  3. Wähle im Projektfenster "DieseArbeitsmappe".

  4. Kopiere den folgenden Code in das Modul:

    Private Sub Workbook_Open()
       With Sheets("Protokoll")
           .Range("A65536").End(xlUp).Offset(1, 0) = Now
           .Range("B65536").End(xlUp).Offset(1, 0) = Environ("Username")
           .Visible = xlSheetVeryHidden
       End With
       ThisWorkbook.Save
    End Sub
  5. Stelle sicher, dass das Tabellenblatt "Protokoll" existiert, und dass es auf "xlSheetVeryHidden" gesetzt ist.

  6. Speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).

  7. Aktiviere die Makros, wenn Du die Datei öffnest.


Häufige Fehler und Lösungen

  • Fehler: Das Protokollblatt wird nicht aktualisiert.

    • Lösung: Vergewissere Dich, dass Makros aktiviert sind. Ohne aktivierte Makros wird der Code nicht ausgeführt.
  • Fehler: Die Datei kann nicht gespeichert werden, wenn sie bereits geöffnet ist.

    • Lösung: Wenn ein Nutzer die Mappe offen hat und ein anderer sie schreibgeschützt öffnen möchte, kann dies zu Problemen führen. In solchen Fällen könnte die Datei nicht gespeichert werden, nachdem der Protokolleintrag erfolgt ist.

Alternative Methoden

Wenn Du keine VBA verwenden möchtest, gibt es auch die Möglichkeit, manuell in einem Protokollblatt zu dokumentieren. Du könntest ein einfaches Excel-Formular erstellen, in das die Benutzer ihre Zugriffe manuell eintragen.


Praktische Beispiele

Hier ist ein Beispiel, wie das Protokollblatt aussehen könnte:

Datum und Uhrzeit Benutzername
01.01.2023 10:00 MaxMustermann
01.01.2023 10:05 AnnaSchmidt

Dies ist eine einfache Möglichkeit, um Zugriffe zu dokumentieren. Das VBA-Skript automatisiert diesen Prozess jedoch und erleichtert die Protokollierung erheblich.


Tipps für Profis

  • Überlege, zusätzliche Informationen wie IP-Adresse oder verwendeten Computer hinzuzufügen, um die Protokollierung zu erweitern.
  • Implementiere ein Error-Handling im VBA-Code, um mögliche Fehler abzufangen und eine Benachrichtigung zu senden, falls etwas schiefgeht.
  • Denke daran, die Datenschutzrichtlinien zu beachten, insbesondere wenn Du personenbezogene Daten protokollierst.

FAQ: Häufige Fragen

1. Wie kann ich das Protokollblatt einsehen?
Um das Protokollblatt einzusehen, musst Du es im VBA-Editor auf "xlSheetVisible" setzen oder den Code anpassen, um das Blatt sichtbar zu machen.

2. Was passiert, wenn mehrere Benutzer gleichzeitig auf die Datei zugreifen?
Wenn mehrere Benutzer gleichzeitig auf die Datei zugreifen, kann es zu Konflikten kommen, da die Datei zwangsweise gespeichert wird. Dies kann dazu führen, dass der Protokoll-Eintrag nicht erfolgreich durchgeführt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige