Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Protokolldatei schreiben

Protokolldatei schreiben
eric
Hallo,
ich habe folgendes Problem und bitte um Hilfe :
Beschreibung :
Ich möchte unter z.B. E:\_EIGENE\ZUGRIFFE.txt" eine Start- und Endprotokollierung erstellen, das mit dem
Start funktioniert,nur das mit dem Ende ineressiert Excel leider überhauptnicht !
Bie MSGBOX 'erledigt' bekomme ich ! Wo liegt hier mein Fehler
' Klassenmodul kmod_auf
Public WithEvents app As Application
Dim BENUTZER As String, DATUM As String, UHRZEIT As String, DATEINAME As String
Dim wba As Workbook

Public Sub app_WorkbookOpen(ByVal wba As Excel.Workbook)
BENUTZER = Application.UserName                  ' Benutzername
DATUM = Format(Now, "DD.MM.YYYY")                ' Datum setzen
UHRZEIT = Format(Now, "HH:MM:SS")                ' Uhrzeit setzen
DATEINAME = wba.FullName                         ' Dateiname setzen
Open "E:\_EIGENE\ZUGRIFFE.txt" _
For Append As #1                                 ' Pfad und Datei setzen
Print #1, BENUTZER & vbTab & DATUM & vbTab _
& UHRZEIT & vbTab & DATEINAME & vbTab; "START"   ' Daten in Datei schreiben
Close #1                                         ' Datei schliessen
End Sub
' Sub beenden
' Klassenmodul kmod_zu
Public WithEvents app As Application
Dim BENUTZER As String, DATUM As String, UHRZEIT As String, DATEINAME As String
Dim wbz As Workbook

Public Sub app_Workbook_BeforeClose(ByVal wbz As Excel.Workbook)
BENUTZER = Application.UserName                  ' Benutzername
DATUM = Format(Now, "DD.MM.YYYY")                ' Datum setzen
UHRZEIT = Format(Now, "HH:MM:SS")                ' Uhrzeit setzen
DATEINAME = wbz.FullName                         ' Dateiname setzen
Open "E:\_EIGENE\ZUGRIFFE.txt" _
For Append As #1                                 ' Pfad und Datei setzen
Print #1, BENUTZER & vbTab & DATUM & vbTab _
& UHRZEIT & vbTab & DATEINAME & vbTab; "ENDE"    ' Daten in Datei schreiben
Close #1                                         ' Datei schliessen
End Sub
' Sub beenden
unter "Diese Arbeitsmappe"
Dim AppObject1 As New kmod_auf, AppObject2 As New kmod_zu
Sub Workbook_Open()
Set AppObject1.app = Application
End Sub
Sub Workbook_beforeClose(Cancel As Boolean)
Set AppObject2.app = Application
MsgBox "erledigt"
End Sub Ich bedanke mich im voraus für alle Hinweise und Lösungen.
MfG ERIC

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

Betreff
Benutzer
Anzeige
AW: Protokolldatei schreiben
16.05.2010 20:46:24
Josef

Hallo Eric,
wozu zwei Klassen?
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  Init
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public myApp As New xlApp

Sub Init()
  Set myApp.app = Application
End Sub


Public Sub protocol(BENUTZER As String, DATUM As String, UHRZEIT As String, DATEINAME As String, Modus As String)
  
  Open "E:\Temp\ZUGRIFFE.txt" For Append As #1
  Print #1, BENUTZER & vbTab & DATUM & vbTab _
    & UHRZEIT & vbTab & DATEINAME & vbTab; Modus
  Close #1
  
End Sub

' **********************************************************************
' Modul: xlApp Typ: Klassenmodul
' **********************************************************************

Option Explicit

Public WithEvents app As Application


Private Sub app_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
  protocol Application.UserName, Format(Now, "DD.MM.YYYY"), _
    Format(Now, "HH:MM:SS"), Wb.FullName, "ENDE"
  
End Sub


Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
  protocol Application.UserName, Format(Now, "DD.MM.YYYY"), _
    Format(Now, "HH:MM:SS"), Wb.FullName, "START"
End Sub


Gruß Sepp

Anzeige
AW: Protokolldatei schreiben
17.05.2010 18:55:41
eric
Hallo Sepp,
vielen Dank, läuft wie von "mir geplant", ist mein Erstversuch mit Klassen !
DANKE und MfG Eric

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige