Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suchen / Ersetzen in der txt-Datei?

Suchen / Ersetzen in der txt-Datei?
02.01.2014 10:17:17
Selma
Hallo Leute,
FROHES NEUES!!!!
Wie kann ich per VBA in der Datei "C:\Daten\Lizenz.txt"
nach "LIC = S:\Home\Lizenzen\" suchen und durch "#Lizenz wird erstellt" ersetzen?
Gruß,
Selma

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen / Ersetzen in der txt-Datei?
02.01.2014 11:05:34
Selma
Gallo Jochen,
ich habe es jetzt so probiert, leider ohne Erfolg.
Ich vermute, dass ich ein bißchen zu viel Code habe :-)
Sub SubstituteSave()
Dim arr() As String
Dim iCounter As Integer
Dim sPath As String, sTxtA As String
Dim sTxtB As String, sTxt As String
sPath = "C:\Daten\Lizenz.txt"
sTxtA = "LIC = S:\Home\Lizenzen\"
sTxtB = "#Lizenz wird erstellt"
Close
Open sPath For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
If InStr(sTxt, sTxtA) Then
sTxt = replace(sTxt, sTxtA, sTxtB)
End If
iCounter = iCounter + 1
ReDim Preserve arr(1 To iCounter)
arr(iCounter) = sTxt
Loop
Close
On Error GoTo ERRORHANDLER
Exit Sub
ERRORHANDLER:
MsgBox "Job erledigt!"
End Sub

Anzeige
AW: Suchen / Ersetzen in der txt-Datei?
02.01.2014 11:29:46
fcs
Hallo Selma,
du hast nicht zuviel sondern zu wenig Code.
Wie in dem Jochen angegebenen Link musst du die in dem Datenarray zwischengespeicherten neuen Texte auch wieder in eine Datei schreiben. In deinem Fall die Ursprungsdatei.
Gruß
Franz
Sub SubstituteSave()
Dim arr() As String
Dim iCounter As Integer
Dim sPath As String, sTxtA As String
Dim sTxtB As String, sTxt As String
sPath = "C:\Daten\Lizenz.txt"
sTxtA = "LIC = S:\Home\Lizenzen\"
sTxtB = "#Lizenz wird erstellt"
Close
Open sPath For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
If InStr(sTxt, sTxtA) Then
sTxt = Replace(sTxt, sTxtA, sTxtB)
End If
iCounter = iCounter + 1
ReDim Preserve arr(1 To iCounter)
arr(iCounter) = sTxt
Loop
Close
Open sPath For Output As #1
For iCounter = 1 To UBound(arr)
Print #1, arr(iCounter)
Next iCounter
Close
On Error GoTo ERRORHANDLER
Exit Sub
ERRORHANDLER:
MsgBox "Job erledigt!"
End Sub

Anzeige
AW: Suchen / Ersetzen in der txt-Datei?
02.01.2014 11:42:34
JoWE
Hallo Selma,
nein - Du hast zu wenig Code.
Der Code öffnet die Textdatei und ersetzt den Suchbegriff mit dem Ersetzbegriff.
Dein derzeitiger Code speichert jedoch nicht die geänderte Textdatei, dazu fehlen die Anweisungen.
Versuchs mal hiermit:
Sub SubstituteSave()
Dim arr() As String
Dim iCounter As Integer
Dim sPath As String, sTxtA As String
Dim sTxtB As String, sTxt As String
sPath = "C:\Daten\Lizenz.txt"
sTarget = "C:\Daten\Lizenz_neu.txt"
sTxtA = "LIC = S:\Home\Lizenzen\"
sTxtB = "#Lizenz wird erstellt"
Close
Open sPath For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
If InStr(sTxt, sTxtA) Then
sTxt = Replace(sTxt, sTxtA, sTxtB)
End If
iCounter = iCounter + 1
ReDim Preserve arr(1 To iCounter)
arr(iCounter) = sTxt
Loop
Close
Open sTarget For Output As #1
For iCounter = 1 To UBound(arr)
Print #1, arr(iCounter)
Next iCounter
Close
Exit Sub
ERRORHANDLER:
MsgBox "Job erledigt!"
End Sub
So entsteht eine neue Textdatei (sTarget) mit den entsprechend durchgeführten Änderungen.
Die Originaldatei bleibt zwecks Nachvollziehbarkeit erhalten!
Gruß
Jochen

Anzeige
AW: Suchen / Ersetzen in der txt-Datei?
02.01.2014 12:18:51
Selma
Danke Franz! Danke Jochen!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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