Seite 1 von 1
Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 13:35
von theindless
Hallo miteinander,
ich versuche mir grad Basic beizubringen und habe folgende Macro im StarOffice Handbuch (leicht abgewandelt):
Code: Alles auswählen
Dim FileNo As Integer
Dim Text as String
Dim CurrentLine As String
Dim Filename As String
Filename = "c:\data.txt"
FileNo = Freefile
Open Filename For Output As #FileNo
Text = InputBox ("Eingabe")
Print #FileNo, Text
Close #FileNo
Das bewirkt ja nun, dass jeweils der über InputBox eingegebene Text in die txt-Datei geschrieben wird.
Bei meinen Test wurde der alte Inhalt bei jedem erneuten Macro-Start jeweils überschrieben.
Gibt es eine Möglichkeit bei einem erneuten Macro-Start (= neue Eingabe) die txt-Datei nur zu ergänzen, d.h. eine weitere Zeile anzufügen?
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 13:51
von bst
Hi,
ja, nimm zum Anfügen:
cu, Bernd
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 13:52
von Karolus
Hallo
...
Open Filename For Append As #FileNo
...
Karo
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 14:25
von theindless
Hallo bst und Karolus,
danke für die schnelle Antwort.
Dazu müsste ich vermutlich vorher prüfen, ob die Datei besteht, oder?
Code: Alles auswählen
Sub txt
Dim FileNo As Integer
Dim CurrentLine As String
Dim Filename As String
Dim Text as String
Filename = "c:\data.txt"
FileNo = Freefile
If FileExists(Filename) Then
GoTo Einfuegen
Else GoTo Erstellen
End If
Einfuegen:
Open Filename For Append As #FileNo
Text = InputBox ("Eingabe")
Print #FileNo, Text
Close #FileNo
Exit Sub
Erstellen:
Open Filename For Output As #FileNo
Text = InputBox ("Eingabe")
Print #FileNo, Text
Close #FileNo
End Sub
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 14:51
von Karolus
Hallo
Dazu müsste ich vermutlich vorher prüfen, ob die Datei besteht, oder?
Nein ... Warum probierst du das nicht einfach mal mit einer noch nicht existierenden Datei ?
Selbst wenn, musst du nicht mit 'goto' und sich nahezu komplett wiederholenden Code-blöcken arbeiten:
Code: Alles auswählen
Sub txt
Dim FileNo As Integer
Dim CurrentLine As String
Dim Filename As String
Dim Text as String
Filename = "c:\data.txt"
FileNo = Freefile
If FileExists(Filename) Then
Open Filename For Append As #FileNo
else
Open Filename For Output As #FileNo
end if
Text = InputBox ("Eingabe")
Print #FileNo, Text
Close #FileNo
End Sub
Karo
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 15:00
von theindless
Hallo Karolus,
ok... sorry...
Funktioniert scheinbar auch nur mit Append...
Allerdings erschließt sich mir dann nicht, wofür ich Output brauche.... insbesondere in dem Beispiel.
Danke!
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 15:07
von Karolus
Hallo
Allerdings erschließt sich mir dann nicht, wofür ich Output brauche...
Ich kann mir durchaus vorstellen das man
vorhandene Dateien
überschreiben möchte!
Karo
Re: Zeile zu txt-Datei hinzufügen
Verfasst: Di, 28.02.2012 15:18
von theindless
Hallo Karo,
Karolus hat geschrieben:Ich kann mir durchaus vorstellen das man vorhandene Dateien überschreiben möchte!
auch wieder wahr... v.a. einfacher als Löschung der Datei über separate Anweisung.
Ich war wohl zu sehr mit meinem "Problem" / meiner "Wunsch"-Vorgehensweise beschäftigt.