Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

print #1 in txt, an bestimmte Stelle drucken

Forumthread: 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
Anzeige

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

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige