Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

print #1 in txt, an bestimmte Stelle drucken

print #1 in txt, an bestimmte Stelle drucken
22.09.2002 12:48:12
Schmidti
Hallo da draussen,
über print #1, drucke ich Ergebnisse aus einer Schleife (Abfrage von Zellinhalten als Fehlerprotokoll) in eine Textdatei. Dabei wird die akuellste Abfrage immer automatisch ans Ende der Datei geschrieben. Ich möchte, dass die aktuellen Daten immmer oben, oder an einer von mir festgelegten Stelle eingeschrieben werden. Dabei sollen die alten Inhalte keineswegs überschrieben oder gelöscht werden.
Was muss ich tun (in der txt-Datei vielleicht als Sprungmarke definiert?!) in der Datei vermerken oder dem Makro sagen. Vielen Dank schon mal für Eure Hilfe.
Gruß Schmidti

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das geht so....
22.09.2002 13:17:38
Ramses
Hallo,

das ganze ist allerdings etwas aufwändig, ... aber relativ einfach zu realisieren:

Sub Write_Special_Lines()
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim TxtLines As Long, i As Long
Dim TextArr As Variant
'Schliessen einer geöffneten Datei
Close #1

'1. Öffnen der Datei
'Den Namen und Pfad bitte anpassen
Open "c:\demotext.txt" For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
TxtLines = 0
Do While Not EOF(1)    ' Schleife bis Dateiende.
    Input #1, Text1    ' Hilfsvariable zum einlesen verwenden
    'Zähler hochzählen
    TxtLines = TxtLines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1

'Erneutes Öffnen um zum Dateianfang zu kommen
Open "c:\demotext.txt" For Input As #1    ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim TextArr(TxtLines)
'Einlesen der Dateien in das Array
For i = 1 To TxtLines
    Input #1, TextArr(i)
Next i
Close #1

'Im Prinzip kannst du jetzt mit
TextArr(5) = "Mein Neuer Text   " & TextArr(5)
'in der Zeile 5 den Text an dieser Zeile ändern

'Zum zurückschreiben musst du den ganzen Array
'wieder in die Datei zurückschreiben.
Open "C:\Demotext.txt" For Output As #1
For i = 1 To TxtLines
    Write #1, TextArr(i)
Next i
Close #1
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14

Gruss Rainer

Anzeige
Danke Rainer
22.09.2002 19:36:47
Schmidti
Danke Rainer, werd ich gleich mal ausprobieren. Gruß Schmidti

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige