Thema Datum  Von Nutzer Rating
Antwort
26.02.2019 18:02:59 DillDominik
NotSolved
26.02.2019 18:41:06 Gast52394
NotSolved
26.02.2019 19:16:03 Gast58445
NotSolved
Blau Mehrere Zeilen in Textdatei ändern
27.02.2019 09:02:58 CNC
NotSolved

Ansicht des Beitrags:
Von:
CNC
Datum:
27.02.2019 09:02:58
Views:
464
Rating: Antwort:
  Ja
Thema:
Mehrere Zeilen in Textdatei ändern

Gast52394 meint, dass RegEx hier nicht notwendig ist, da hier keine regulären Ausdrücke Verwendung finden (was der eigentliche Zweck dieser Klasse ist).

Du tust also einfach:

strZeile = Replace$(strZeile, strText, strErsetzt, Count:=1, Compare:=vbTextCompare)
strZeile = Replace$(strZeile, strText1, strErsetzt1, Count:=1, Compare:=vbTextCompare)
strZeile = Replace$(strZeile, strText2, strErsetzt1, Count:=1, Compare:=vbTextCompare)
strZeile = Replace$(strZeile, strText3, strErsetzt1, Count:=1, Compare:=vbTextCompare)
strZeile = Replace$(strZeile, strText4, strErsetzt1, Count:=1, Compare:=vbTextCompare)
strZeile = Replace$(strZeile, strText5, strErsetzt1, Count:=1, Compare:=vbTextCompare)

intFilenumber = FreeFile()

Open Replace$(OrdnerPfad & strDatei, "Alt", "Neu") For Output As #intFilenumber
  Print #intFilenumber, strZeile
Close #intFilenumber

 

Du bräuchtest theoretisch nicht mal das FSO zum Lesen/Schreiben. Lesen/Schreiben könntest du auch mit der Open-Anweisung (letzteres machst du ja schon). Das ginge sogar Zeilenweise und würde sich vermutlich auch anbieten da,  soweit ich weiß CNC-Files Zeilenweise strukturiert sind (ein Befehl pro Zeile). Außerdem erlaubt es dir zwischendurch Excel mal einen Moment der Selbstfindung zu können, und auch andere Windows Anwendung mal zu Wort kommen zu lassen (siehe DoEvents).

Du könntest also über eine Schleife eine Datei zeilenweise einlesen, gegen das Gesuchte vergleichen und ggf. ausstauschen. Falls man davon ausgehen kann, das die gesuchte Zeile nur einmal vorkommt, könnte man hier sogar frühzeitig die Schleife verlassen und zur nächsten Datei springen. Das würde dann deutlich Durchlaufzeit ersparen. (aus der Annahme heraus habe ich z.b. oben im Codeschnipsel den Paramter Count mit dem Argument Eins (1) gefüttert)

 

Grüße

 

PS: Ich würde vorschlagen nicht jede beliebige Datei aus dem Verzeichnis einzulesen, sondern vorher auf Dateiendung und den Dateinamen auf den Inhalt "Alt" zu überprüfen... und bei Richtigkeit erst dann weiter arbeiten.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.02.2019 18:02:59 DillDominik
NotSolved
26.02.2019 18:41:06 Gast52394
NotSolved
26.02.2019 19:16:03 Gast58445
NotSolved
Blau Mehrere Zeilen in Textdatei ändern
27.02.2019 09:02:58 CNC
NotSolved