Zum Inhalt springen

ahacker

Mitglieder
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von ahacker

  1. Ändert leider nichts. "Case 11" wird beim automatischen start immer noch nicht eingetragen
  2. 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
  3. 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...