Herbers Excel-Forum - das Archiv

Logfile schreiben

Bild

Betrifft: Logfile schreiben
von: bastian

Geschrieben am: 13.03.2005 23:04:13
Hallo liebe ExcelExperten,
ich möchte ein Logfile für mein Makro schreiben. Das mache ich bisher so:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fs1, file
Dim combo As String
combo = path & "logfile.log"
Set fs1 = CreateObject("Scripting.FileSystemObject")
Set file = fs1.OpenTextFile(combo, ForAppending, TristateFalse)
file.Write check
file.Close
Nun ist es aber so, daß mehrere User gleichzeitig aus verschiedenden Anwendungen heraus dieses Makro starten könne, alle Logs aber in eine Datei geschrieben werden sollen. Es sind zwar nur maximal 4 User, aber ich habe trotzdem Bedenken das es zur Überschneidung von Zugriffen kommt, das zwei User gleichzeitig das Log schreiben wollen oder so.
Hat jemand einen Vorschlag wie ich das Lösen kann ?
Gruss & Dank,
Bastian
Bild

Betrifft: AW: Logfile schreiben
von: Domke, Frank

Geschrieben am: 14.03.2005 11:21:44
Hallo Bastian,
wenn die Datei von jemanden geöffnet ist, müsste OpenTextFile einen Fehler erzeugen. Das heißt, Du muss in der Fehlerroutine vielleicht im Abstand von 1 sek. und vielleicht 3x versuchen, die Datei zu öffnen. In dieser Zeit sollte die Funktion Check (oder ist das eine Variable) des anderen Users fertig sein und somit die Datei wieder verfügbar sein.
Die Anzahl der Wiederholungen sowie die Pausen dazwischen musst Du entsprechend Deiner Umgebung (schnelles oder langsames Netz etc.) anpassen.
Viel Erfolg!
Frank.
Bild

Betrifft: AW: Logfile schreiben
von: bastian
Geschrieben am: 14.03.2005 22:55:47
Hi Frank,
das ist eine gute Idee, so werde ich es versuchen ! Vielen Dank !
Bastian
 Bild
Excel-Beispiele zum Thema "Logfile schreiben"
Fehlermeldung abfangen und in sequentielle Datei schreiben Arbeitsmappe anlegen und Workbook_Open-Prozedur schreiben
Text aus UserForm in eine Zelle schreiben Zellinhalte in Verbindung mit Variablen in Textdatei schreiben
Bei Eingabe von "j" "Ja" und von "n" "Nein" schreiben Text in NotePad schreiben, speichern, in Excel aufrufen
Ersten mit einem neuen Buchstaben beginnenden Namen fett schreiben Emailrundschreiben mit vorgegebenem Text über Outlook
Zahlen eines Bereiches jeweils 4 mal in eine Spalte schreiben. Registry-Einträge schreiben, lesen, löschen