Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Log.Datei über ein Userform möglich?
01.07.2005 10:07:43
Tom
Hallo Experten,
hab mit der Hilfe hier im Forum eine für mich sehr schöne Liste gebastelt...
Beim Öfnnen dieser Liste erscheint ein Userform (Popup) an dem man entweder Einverstanden oder Ablehnen wählen kann. Bei Ablehnen wird die Datei wieder geschlossen, bei Einverstanden geht es weiter...
Gibt es nun eine Möglichkeit auf einem Tabellenblatt (log?) eine Liste automatisch anzulegen, in der der Benutzername und das Datum abgelegt werden? Halt so das man nachvollziehen könnte wann welcher Nutzer die Liste eingesehen hat.
Eventuell kann man dann dieses Tabellenblatt auch noch mit einem Extra-Passwort versehen?
Danke schon mal im Voraus für die Hilfe der Helfenden...
MfG aus Berlin
Tom

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

Betreff
Datum
Anwender
Anzeige
AW: Log.Datei über ein Userform möglich?
01.07.2005 10:22:49
Sylvio
Hallo Tom,
ein vorschlag
Option Explicit
Declare

Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long 'Definition Systemabfragefunktion Username

Sub Zugriff()
einfach für master(4) deinen Sheetnamen einsetzen wo es hin soll
master ist blattschutzpasswort
Sheets(master(4)).Select
ActiveSheet.Unprotect Password:="master"
If Sheets(master(4)).Range("a65535").End(xlUp).Row >= 65535 Then
Sheets(master(4)).Range("A2:C65535").Select
Selection.clear
Sheets(master(4)).Cells(2, 1).Select
End If
hier prüft er ob tabelle voll wenn ja dann leeren
With Cells(Sheets(master(4)).Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
.Select
.Value = Now
End With
With Cells(Sheets(master(4)).Cells(Rows.Count, 2).End(xlUp).Row + 1, 2)
.Select
.Value = UserName  'Windows-Anmeldung
End With
schreibt immer in letzter spalte den neuen user rein mit einmal namen und die Zeit
ActiveSheet.Protect Password:="master"
ActiveWorkbook.Save
End Sub

Gruß Sylvio
Anzeige
AW: Log.Datei über ein Userform möglich?
01.07.2005 10:26:03
Sylvio
Hallo Tom
Anhang hat vergessen Dir die user Funktion mitzugeben

Function UserName()
Dim sName As String
Dim nSize As Long
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

Gruß Sylvio
AW: Log.Datei über ein Userform möglich?
01.07.2005 10:43:12
Tom
Hallo Sylvio,
danke für deine Blitzhilfe...
Hab nicht so die Ahnung was du da so aufgeschrieben hast :-(
Deshalb hab ich nochmal ne Rückfrage...
1. Wo muss ich das eintragen? Hab das unter dem Formular des Start-Popup eingetragen. Leider funktioniert es nicht, weder Namen werden eingetragen, noch wird ein Passwort verlangt. Das Tabellenblatt nennt sich Log. Das Formular sieht nun so im Ganzen aus.

Private Sub CommandButton1_Click()
Unload Me
End Sub

---

Private Sub CommandButton2_Click()
ActiveWorkbook.Close savechanges:=True
End Sub

---

Private Sub Label1_Click()
End Sub

---
Function UserName()
Dim sName As String
Dim nSize As Long
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
---
Option Explicit
'Declare
'Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long 'Definition Systemabfragefunktion Username
Sub Zugriff()
'einfach für master(4) deinen Sheetnamen einsetzen wo es hin soll
'master ist blattschutzpasswort
Sheets(Log).Select
ActiveSheet.Unprotect Password:="master"

If Sheets(master(4)).Range("a65535").End(xlUp).Row >= 65535 Then
Sheets(master(4)).Range("A2:C65535").Select
Selection.Clear
Sheets(master(4)).Cells(2, 1).Select
End If
'hier prüft er ob tabelle voll wenn ja dann leeren

With Cells(Sheets(master(4)).Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
.Select
.Value = Now
End With
With Cells(Sheets(master(4)).Cells(Rows.Count, 2).End(xlUp).Row + 1, 2)
.Select
.Value = UserName 'Windows-Anmeldung
End With
'schreibt immer in letzter spalte den neuen user rein mit einmal namen und die Zeit
ActiveSheet.Protect Password:="master"
ActiveWorkbook.Save
End Sub
---
ISt das so richtig? Denke mal ich habs nicht richtig, aber bitte nicht schimpfen :-)
Danke auf jeden Fall!!!
MfG aus Berlin
Tom
Anzeige
AW: Log.Datei über ein Userform möglich?
01.07.2005 11:21:20
Sylvio
Hallo Tom,
also wenn du diese logdatei erstellen willst musst du das

Sub zugriff einfach an der entsprechenden stelle aufrufen. Ich hoffe du weißt wie man ein 

Sub in einem andern 

Sub aufruft.
als Beispiel beim öffen der Arbeitsmappe wäre das so:
in modul1 muss dann stehen
Option Explicit
Declare 

Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long 'Definition Systemabfragefunktion Username

Function UserName()
Dim sName As String
Dim nSize As Long
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

Gruß Sylvio
Anzeige
AW: Log.Datei über ein Userform möglich?
01.07.2005 11:28:08
Tom
Hallo Sylvio,
soweit glaub ich hab ich es verstanden. Allerdings sagt Excel immer bei diesem Teil
Option Explicit
Declare
Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long 'Definition Systemabfragefunktion Username
"Fehler beim Kompilieren
Erwartet :Sub oder Funktion"
Und bei Lib
"Fehler beim Kompilieren
Erwartet: Anweisungsende"
Tut mir leid dich nochmals nerven zu müssen...
MfG aus Berlin
Tom
AW: Log.Datei über ein Userform möglich?
01.07.2005 11:53:53
Sylvio
Hallo Tom,
schreib es so
Option Explicit
Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long 'Definition Systemabfragefunktion Username
Declare und Funktion zusammen
Gruß Sylvio hoffe kommst klar den ich muss jetzt schluss machen
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige