Zum Inhalt springen

ahacker

Mitglieder
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

Beiträge von ahacker

  1. 
    Sub Auto_Open()
    
        Dim tmp As Boolean
    
       MsgBox "halt"
    
        Application.DisplayAlerts = False
    
    
        If Weekday(Date) = 1 Or Weekday(Date) = 7 Then Exit Sub
    
    
        If fncKompletterAblauf() Then
    
            tmp = fncLogFile(10, 0)
    
        Else
    
            tmp = fncLogFile(10, 1)
    
        End If
    
    
    
    '    ActiveWorkbook.Close savechanges:=False
    
    '    Workbooks.Close
    
    '    Application.DisplayAlerts = True
    
    
    End Sub
    
    
    
    
    
    'Lässt alles Komplett ablaufen, schreibt Fehler in ein Logfile
    
    Function fncKompletterAblauf() As Boolean 'Start des Makros mit allen unterpunkten
    
    '
    
        Dim tmp As Boolean
    
    
        bversand = True
    
    
        tmp = fncLogFile(11, 0)
    
    
        If bversand Then
    
            If fncVariablenfuellen Then
    
                tmp = fncLogFile(2, 0)
    
            Else
    
                tmp = fncLogFile(2, 1)
    
                bversand = False
    
            End If
    
        End If
    
    
    
        If bversand Then
    
            If fncInfoHolen() Then
    
                tmp = fncLogFile(3, 0)
    
            Else
    
                tmp = fncLogFile(3, 1)
    
                bversand = False
    
            End If
    
        End If
    
    
        If bversand Then
    
            If fncTabelleFuellen() Then
    
                tmp = fncLogFile(5, 0)
    
            Else
    
                tmp = fncLogFile(5, 1)
    
                bversand = False
    
            End If
    
        End If
    
    
        If bversand Then
    
            If fncTextdateiAnlegen() Then
    
                tmp = fncLogFile(6, 0)
    
            Else
    
                tmp = fncLogFile(6, 1)
    
                bversand = False
    
            End If
    
        End If
    
    
        If bversand Then
    
            If fncBatchdateiAnlegen() Then
    
                tmp = fncLogFile(7, 0)
    
            Else
    
                tmp = fncLogFile(7, 1)
    
                bversand = False
    
            End If
    
        End If
    
    
        If bversand Then
    
            If fncBatchExeOpen() Then
    
                tmp = fncLogFile(8, 0)
    
            Else
    
                tmp = fncLogFile(8, 1)
    
                bversand = False
    
            End If
    
        End If
    
    
        If bversand = False Then
    
            fncKompletterAblauf = False
    
            If fncErrErstell() Then
    
                tmp = fncLogFile(9, 0)
    
            Else
    
                tmp = fncLogFile(9, 1)
    
            End If
    
        Else
    
            fncKompletterAblauf = True
    
        End If
    
    '
    
    End Function
    
    
    
    
    
    Function fncLogFile(ByVal iFnc As Integer, ByVal iErr As Integer) As Boolean
    
        On Error GoTo errLog
    
        Dim sMeldung As String
    
        Dim slog As String
    
        Dim ilog As Integer
    
    
        slog = PfadLog & Year(Date) & "_" & Month(Date) & "_Log.txt"
    
        ilog = FreeFile
    
    
        Open slog For Append As ilog
    
    
        Select Case iFnc
    
            Case 1
    
                sMeldung = ""
    
            Case 2
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Variablenfuellen ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 3
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Infosholen ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 4
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Open 'Schichtplan.xls' ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 5
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Tabellefuellen ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 6
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Textdatei 'Schichtplan.txt' anlegen ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 7
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Batchdatei 'Mail.bat' anlegen ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 8
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Mailversand starten ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 9
    
                sMeldung = "[ " & Date & " - " & Time & " ] - Fehlermail erstellt und verschickt ... "
    
                If iErr = 0 Then sMeldung = sMeldung & "DONE"
    
                If iErr = 1 Then sMeldung = sMeldung & "ERROR"
    
            Case 10
    
                Dim sErfolg As String
    
                If iErr = 0 Then sErfolg = "erfolgreich"
    
                If iErr = 1 Then sErfolg = "fehlerhaft"
    
                sMeldung = "##########################################" & vbNewLine & _
    
                "Der Schichtplanversand war " & sErfolg & "!" & _
    
                vbNewLine & "##########################################" & vbNewLine
    
            Case 11
    
                sMeldung = "##########################################" & vbNewLine & _
    
                "LOG - " & Date & _
    
                vbNewLine & "##########################################"
    
        End Select
    
    
        Print #ilog, sMeldung
    
        Close ilog
    
    
        GoTo skipLog
    
    
    errLog:
    
        fncLogFile = False
    
        Exit Function
    
    skipLog:
    
        fncLogFile = True
    
    End Function
    
    
    

  2. Hallo.

    Ich bin grad dabei für Excel ein Makro zu schreiben, dass mir eine Log-datei füllt.

    Das ganze klappt auch wunderbar, ABER:

    eich möchte für jeden durchlauf des Makros eine Art Header in die txt schreiben.

    
    ##################
    
    LOG - 3.2.2006
    
    ##################
    
    

    Diesen Eintrag will ich also als erstes machen, kurz nachdem das Makro gestartet wurde ( wird per Auto_Open() durch den TaskManager gestartet).

    Doch dabei wird dieser erste Eintrag nie gemacht. Wenn ich schrittweise durch en Code springe, führt er zwar die Befehle aus, aber schreibt nichts in die txt. der zweite Eintrag klappt dann wuderbar.

    Starte ich das Makro aber per Hand (xls-Datei ist bereits offen und ich starte manuell die Sub Auto_Open() ) schreibt er mir den ersten Eintrag in die txt.

    Ich hoffe, dass es einigermaßen verständlich ausgedrückt ist und hoffe auch, dass jemand vielleicht da weiterhelfen kann.

    Danke schon mal im vorraus.

    mfG

    ahacker

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...