mctini
Goto Top

Schreiben in leere Datei

String ans Ende einer Datei

Set Datei = CreateObject("Scripting.FileSystemObject").OpenTextFile(DateiAus, 8)
'Set Datei = fso.CreateTextFile(DateiEin, True)
Datei.WriteLine "ende"
Datei.Close
Die funktioniert, solange die Datei nicht leer ist.

Ich möchte gerne Eine Datei prüfen ob vorhanden und an das Ende der Datei einen String schreiben ("ende")

AUch dann wenn die Datei leer ist

Content-Key: 106474

Url: https://administrator.de/contentid/106474

Printed on: April 23, 2024 at 22:04 o'clock

Member: seTTembrinY
seTTembrinY Jan 19, 2009 at 16:07:36 (UTC)
Goto Top
Hi,

prüfe doch vorher die Grösse mit
If Datei.Size > 0 Then
xxx
else
yyy
end if

Und hier solltest bzgl der Syntax auch fündig werden. http://msdn.microsoft.com/en-us/library/czxefwt8(VS.85).aspx


Gruß,
Sven
Member: bastla
bastla Jan 19, 2009 at 16:12:48 (UTC)
Goto Top
Hallo mctini!

Das Schreiben auch in eine leere Datei sollte mit dem von Dir vorgeschlagenen "Append" (,8) kein Problem sein - bliebe nur, vorweg zu prüfen, ob die Datei bereits existiert:
DateiAus = "D:\Test.txt"  
Set fso = CreateObject("Scripting.FileSystemObject")  
If fso.FileExists(DateiAus) Then
    Set Datei = fso.OpenTextFile(DateiAus, 8)
Else
    Set Datei = fso.CreateTextFile(DateiAus)
End If
Datei.WriteLine "ende"  
Datei.Close

[Edit]
Wieso einfach, wenn es doch auch schön umständlich geht ... face-sad

Natürlich funktioniert das "Append" auch, wenn es die Zieldatei noch nicht gibt - dazu den dritten Parameter ("Create") auf True oder 1 setzen:
DateiAus = "D:\Test.txt"  
Set fso = CreateObject("Scripting.FileSystemObject")  
Set Datei = fso.OpenTextFile(DateiAus, 8, 1)
Datei.WriteLine "ende"  
Datei.Close
[/Edit]

Grüße
bastla
Member: mctini
mctini Jan 20, 2009 at 08:30:33 (UTC)
Goto Top
Ja stimmt es funktioniert auch wenn die Datei leer ist.

Trotzdem bekomme ich von Zeit zu Zeit eine Fehlermeldung.. Zugriff verweigert.
Es liegt mit Sicherheit daran das die Datei von einer anderen Anwendung geöffnet ist.

Die Flashanimation greift alle 20 sec. zum auslesen der Datei auf die DatAus. also sollte ich hier wohl prüfen
ob die Datei geöffnet ist.

Nur leider reichen meine Kenntnisse bei Weitem nicht um diese Abfrage zu schreiben.

Wenn es Sinn macht stelle ich mir es so vor.

Schleife solage bis Datei geschlossen, wenn Zugriff vorhanden dann lösche alles was |S| hat und beschränke auf Zeilen Anzahl.(letzteres geht ja schon hervorragend)