Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
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
Log-File erstellen
20.10.2016 09:40:35
Jens
Hallo,
wie kann ich eine LOG_File in Excel erstellen lassen. Die Logfile sollte exteren über eine TXT-Datei erstellt werden.
Hierzu anbei meine Datei.
https://www.herber.de/bbs/user/108906.xlsx
Wenn wieder einen neuer Log gemacht wird, dann wird dies in der nächsten Zeile der TXT_datei erfasst. Es werden keine Daten überschrieben!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Log-File erstellen
20.10.2016 10:23:21
UweD
Hallo
meinst du das so?
In ein Modul

Sub Log_erstellen()
Dim TB, Pfad As String, Datei As String
Set TB = Sheets("Tabelle1")
Pfad = "C:\Temp\" & "Log-File\"
If Dir(Pfad, vbDirectory) = "" Then MkDir Pfad
Datei = Pfad & Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".")) _
& "txt"
Close #1
If Dir(Datei) = "" Then
Open Datei For Output As 1
Else
Open Datei For Append As 1
End If
Print #1, Format(Now, "YYYY_MM_DD") & "/" & Format(Now, "hh:mm:ss") & _
"/IN/" & TB.Range("A1")
Close #1
End Sub

in DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim TB, Pfad As String, Datei As String
Set TB = Sheets("Tabelle1")
Pfad = "C:\Temp\" & "Log-File\"
Datei = Pfad & Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".")) _
& "txt"
Close #1
If Dir(Datei) = "" Then
MsgBox "Datei: '" & Datei & "' existiert nicht"
Exit Sub
End If
Open Datei For Append As 1
Print #1, Format(Now, "YYYY_MM_DD") & "/" & Format(Now, "hh:mm:ss") _
& "/OUT/" & TB.Range("A1")
Close #1
End Sub

Anzeige
AW: Log-File erstellen
20.10.2016 10:44:50
Jens
Super Danke genau so.
Aber wie bekomme ich es noch hin das der Ordner nicht in Temp angelegt wird sondern im gleichen Ordner in der die Exceldatei gespeichert ist?
AW: Log-File erstellen
20.10.2016 10:49:09
UweD
Ok.
dann tausche ist in...

Pfad = ThisWorkbook.Path & "\Log-File\"
LG UweD
AW: Log-File erstellen
20.10.2016 10:48:43
Jens
Hallo,
habe noch einen Fehler festgestellt.
Wenn ich die Datei aufmache und nicht auf den Button klicke, dann wird trotzdem der Logout angelegt.
Der Logout soll nur dann angelegt werden, wenn ich auch den Login angelegt habe.
Sprich wenn die Datei nur geöffnet wird und der Button nicht betätigt wird, wird auch kein Login und kein Logout angelegt.
Kannst du dies noch setzten. Weil ganz passt es noch nicht zu meinen eigentlichen Anforderungen.
Anzeige
AW: Log-File erstellen
20.10.2016 10:55:45
UweD
Hi
- dann müsste man sich merken, op der Login erfolgte
= Das könnte in einer Zelle passieren (einfach)
= oder eine Zweite (Tmp) Datei wird abgelegt und später wieder gelöscht (mittelmässig)
- oder die letzte Zeile müsste ausgelesen und interpretiert werden
= schwieriger, da nur das Datum sinnvoll wäre
Wie wünschst du es?
AW: Log-File erstellen
20.10.2016 10:57:10
Jens
Hallo,
denke die Zellen Version ist am besten Zelle B1
AW: Log-File erstellen
20.10.2016 11:13:43
UweD
Hallo nochmal
Das geänderte Modul
Sub Log_erstellen()
    Dim TB, Pfad As String, Datei As String
    Set TB = Sheets("Tabelle1")
    Pfad = ThisWorkbook.Path & "\Log-File\"
    If Dir(Pfad, vbDirectory) = "" Then MkDir Pfad
    Datei = Pfad & Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".")) _
        & "txt"
    Close #1
    If Dir(Datei) = "" Then
        Open Datei For Output As 1
    Else
        Open Datei For Append As 1
    End If
    Print #1, Format(Now, "YYYY_MM_DD") & "/" & Format(Now, "hh:mm:ss") & _
        "/IN/" & TB.Range("A1")
    Close #1
    TB.Range("B1") = "Log erfolgt"
End Sub
In DieseArbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim TB, Pfad As String, Datei As String
    Set TB = Sheets("Tabelle1")
    If TB.Range("B1") = "Log erfolgt" Then
        Pfad = ThisWorkbook.Path & "\Log-File\"
        Datei = Pfad & Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".")) _
            & "txt"
        Close #1
        If Dir(Datei) = "" Then
            MsgBox "Datei: '" & Datei & "' existiert nicht"
            Exit Sub
        End If
        Open Datei For Append As 1
        Print #1, Format(Now, "YYYY_MM_DD") & "/" & Format(Now, "hh:mm:ss") _
            & "/OUT/" & TB.Range("A1")
        Close #1
    End If
    TB.Range("B1").ClearContents
    Me.Save
End Sub


Private Sub Workbook_Open()
    Dim TB
    Set TB = Sheets("Tabelle1")
    TB.Range("B1").ClearContents
End Sub
LG UweD
Anzeige
AW: Log-File erstellen
20.10.2016 11:19:05
Jens
Super besten Dank :) geht
gern geschehen owT
20.10.2016 12:13:21
UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige