Anzeige
Archiv - Navigation
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zugriffslog-Erstellung

Zugriffslog-Erstellung
13.07.2005 13:54:04
Tom
Hallo,
hab hier schon mal gute Hilfe bezüglich der Erstellung eines Zugriffs-Log-Files erhalten.
Der code hierfür ist
Dim lngResult As Long
'On Error GoTo fehlerweg
nSize = 100
sName = Space$(100)
lngResult = GetUserName(sName, nSize)
If lngResult 0 Then
UserName = Left$(sName, nSize - 1)
End If
End Function
Sub Auto_open()
Zugriff
End Sub
Sub Zugriff()
Sheets("Log").Select
ActiveSheet.Unprotect Password:="master"
If Sheets("Log").Range("a65535").End(xlUp).Row >= 65535 Then
Sheets("Log").Range("A2:C65535").Select
Selection.Clear
Sheets("Log").Cells(2, 1).Select
End If
With Cells(Sheets("Log").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
.Select
.Value = Now
End With
With Cells(Sheets("Log").Cells(Rows.Count, 2).End(xlUp).Row + 1, 2)
.Select
.Value = UserName 'Windows-Anmeldung
End With
ActiveSheet.Protect Password:="master"
ActiveWorkbook.Save
End Sub
Nun zur Frage:
Soweit klappt auch alles wenn ich den Code in eine leere Mappe kopiere. Ich hab jedoch eine Mappe in der im Reiter "Diese Arbeitsmappe" (im MS VB) folgenden Code stehen habe, mit dem ich immer im ersten Blatt lande und es einen Hinweis per Userform bekomme

Private Sub Workbook_Open()
Sheets("NK 2005").Activate
Range("H12").Select
StartPopup.Show
End Sub

Wenn ich dies entferne, klappt das mit der Log-File, wenn ich es beibehalte, funktioniert das nicht.
Kann mir jemand helfen das ich beide Sachen nutzen kann?
MfG aus Berlin
Tom

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriffslog-Erstellung
13.07.2005 14:16:19
Heiko
Hallo Tom,
lösche diesen Teil komplett,
Sub Auto_open()
Zugriff
End Sub
und ergänze hier. ( ungetestet !)

Private Sub Workbook_Open()
Zugriff
Sheets("NK 2005").Activate
Range("H12").Select
StartPopup.Show
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Zugriffslog-Erstellung
13.07.2005 14:24:31
Tom
Nein, hat leider nicht funktioniert. Bei der Variante erfolgt weder ein Eintrag in das Log-Tabellenblatt, noch befindet man sich auf dem ersten Blatt und bekommt das Userform...
Andere Idee?
Wär schade wenn ich eines sein lassen müsste...
Danke aber...
Tom
Anzeige
AW: Zugriffslog-Erstellung
13.07.2005 14:30:34
Heiko
Hallo Tom,
dann müßtest du mir mal den ganzen Code geben ( sieht irgendwie ein bisschen Lückenhaft aus ) , oder die Mappe soweit abgespeckt wie möglich.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Zugriffslog-Erstellung
13.07.2005 15:06:28
Tom
Hallo,
als ich die Datei gerade verkleiner wollte und alles nochmals eingefügt habe, funktionert es nun.
Nun jedoch noch eine kleine Frage anlehnend an das bereits geschilderte.
Ich habe von Excel 2 Kennwörter abfragen lassen. Das Erste für den Zutritt und das Zweite für die Aufhebung des Schreibschutzes. Wenn nun einer nur mit den Zugriffsrechten die Datei nutzt, soll ja trotzdewm protokolliert werden. Hierbei kommt dann allerdings die Meldung das die Datei ja schreibgeschützt ist und lediglich unter einem anderen Namen gespeichert werden soll.
Kann ich das irgendwie umgehen? Das Blatt an sich ist ja auch geschützt und wird vor Eingabe der Daten per
ActiveSheet.Protect Password:="master"
ActiveWorkbook.Save
entsperrt und dann gespeichert, geht das mit der Mappe auch?
Was mir dann einfällt, kann ja jeder sich den Code anzeigen lassen und das Passwort in Klarschrift lesen!? Kann man das irgendwie umgehen?
MfG aus Berlin
Tom
Anzeige
AW: Zugriffslog-Erstellung
13.07.2005 15:11:13
Eule
Hi Tom
in den VBA Projekteigenschaften (im VBA-Editor, Extras - Schutz + Häkchen setzen für Anzeige) kannst du das Passwort festlegen.
Gruss Eule
AW: Zugriffslog-Erstellung
13.07.2005 15:36:22
Tom
Hallo Eule,
danke für den Tip mit dem PW für den Code.
Wie entsperre ich aber die Datei um bei den Nutzern die mit Schreibschutz in die Datei gehen, die Log-Daten in das Tabellenblatt Log trotzdem eintragen zu lassen?
Der Tabellenblattschutz wird ja durch die Eingabe im VBA übergangen.

Sub Zugriff()
Sheets("Log").Select
ActiveSheet.Unprotect Password:="master"
If Sheets("Log").Range("a65535").End(xlUp).Row >= 65535 Then
Sheets("Log").Range("A2:C65535").Select
Selection.Clear
Sheets("Log").Cells(2, 1).Select
End If
With Cells(Sheets("Log").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
.Select
.Value = Now
End With
With Cells(Sheets("Log").Cells(Rows.Count, 2).End(xlUp).Row + 1, 2)
.Select
.Value = UserName 'Windows-Anmeldung
End With
ActiveSheet.Protect Password:="master"
ActiveWorkbook.Save
End Sub

Wie und wo muss ich hier noch das PW für den Schreibschutz eingeben?
MfG aus Berlin
Tom
Anzeige
AW: Zugriffslog-Erstellung
13.07.2005 15:42:32
Eule
Hi Tom
beschreib doch bitte nochmal dein Problem.
Gehe ich richtig in der Annahme, das du nur bestimmte geschützte Sheets für eine Eingabe von bestimmten Nutzern freigeben willst?
Gruss von der Bayerischen Eule
AW: Zugriffslog-Erstellung
13.07.2005 15:53:40
Tom
Hallo Eule,
also folgendes Problem. Es wird in meiner Arbeitsmappe ein Tabellenblatt geführt, was den Benutzernamen, Datum und Uhrzeit untereinander aufführt.
Nun ist die Tabelle aber mit 2 Kennwörtern versehen. Erstens einem Lese- und Schreibkennwort, das wenn man im Besitz von diesem ist, man auf das Blatt zugreifen kann, jedoch jegliche Änderungen nicht möglich sind.
Das zweite ist dann das Schreibschutzkennwort...
Wenn ich jeweils beide eingebe, wird die Log-Funktion wunderbar durchgeführt. Sobald jemand nun aber nur mit dem Lese/Schreibkennwort in die Datei geht, wird zwar der Log gelistet, jedoch wegen der fehlenden Schreibrechte nicht gespeichert.
Und um das zu umgehen, sollte irgendwie das Schreibkennwort eingebaut werden, um im Falle des Schreibschutzes, die Log-Funktion trotzdem gespeichert wird.
Hoffe ich konnte es gut genug erklären.
MfG aus Berlin
Tom
Anzeige
AW: Zugriffslog-Erstellung
13.07.2005 15:57:16
Eule
Hi Tom
wie wärs, wenn Du die Logdatei als extra Datei führen würdest?
Hier könnte ich Dir ein Muster zur Verfügung stellen.
Gruss Eule
AW: Zugriffslog-Erstellung
13.07.2005 16:01:30
Tom
hallo Eule,
das wäre auch noch eine Idee. Ich wäre also zu tiefst verbunden wenn mir solch eine Datei zur Verfügung gestellt werden könnte.
:-)
MfG aus Berlin
Tom
AW: Zugriffslog-Erstellung
13.07.2005 16:11:42
Eule
In Diese Arbeitsmappe:

Private Sub Workbook_Open()
InTextdatei
End Sub

in ein Modul:
Sub InTextdatei()
Dim sTxt As String
Dim name As String
Dim vorname As String
Dim nachname As String
Dim PCName As String
Dim Zeit As String
Dim User As String
name = Environ(16)
User = Environ(45)
PCName = Environ(21)
Zeit = Now
On Error GoTo ERRORHANDLER
If InStr(name, "=") Then
name = Right(name, Len(name) - InStr(name, "="))
vorname = Left(name, InStr(name, " "))
nachname = Right(name, Len(name) - InStr(name, " ") + 1)
End If
Open "c:\XXX11\OttoEule\log.txt" For Append As #1
sTxt = User & ";" & PCName & ";" & Now & ";" & name
sTxt = Now & ";" & Environ("Username") & ";" & Application.UserName
Print #1, sTxt
Close
' MsgBox "Textdatei wurde erstellt!"
Exit Sub
ERRORHANDLER:
MsgBox "Textdatei konnte nicht erstellt werden!"
End Sub
Die Environ musst Du selber austesten, sind je nach Netzwerk verschieden
Aber jetzt mach ich Feierabend.
Schau später noch Mal herein
Gruss Eule
Anzeige
AW: Zugriffslog-Erstellung
13.07.2005 16:18:51
Tom
Hallo Eule,
auf den ersten Blick hab ich mal wieder nichts verstanden.
Envirion? Testen?
Muss leider auch los zum Termin. Schau spätestens morgen nochmal vorbei, eventuell kannst du ja nochmals helfen
Schönen Dank bis hierher und noch einen angenehmen Tag
MfG aus Berlin
Tom

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige