ich hoffe mir kann hier jemand helfen, ich habe einen Code aus dem Internet (oder sogar von der Seite hier) und den muss ich leider ein bisschen anpassen. Der Code sucht in einer Textdatei nach einer bestimmten Zeichenfolge STxtA und ersetzt diesen Text durch STxtB. Soweit so gut ich brauche das allerdings für mehr als nur eine Variable. Also mit STxtC und STxtD usw.
Das ganze soll später eine Textdatei geben in der alle definierten Variablen ausgetauscht worden sind.
Lieder habe ich keine Ahnung wie ich es in diesem Auszug aus dem Code hier lösen soll:
Open sSource 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
'TaskID = Shell("c:\batch.bat")
On Error GoTo ERRORHANDLER
Shell "notepad " & sTarget, vbMaximizedFocus
Exit Sub
Hier nochmal der komplette Code:
Sub Schaltfläche2_BeiKlick()
Dim arr() As String
Dim iCounter As Integer
Dim sSource As String, sTarget As String, sTxtA As String
Dim sTxtB As String, sTxt As String, sPath As String
Dim sTxtC As String, sTxtD As String, sTxtE As String
Dim sTxtF As String, sTxtG As String, sTxtH As String
Dim sTxtI As String, sTxtJ As String, sTxtK As String
Dim sTxtL As String, sTxtM As String, sTxtN As String
Dim sTxtO As String, sTxtP As String, sTxtQ As String
Dim sTxtR As String, sTxtS As String, sTxtT As String
Dim sTxtU As String, sTxtV As String, sTxtW As String
Dim sTxtX As String, sTxtY As String, sTxtZ As String
Dim sTxtAA As String, sTxtBB As String
sPath = ThisWorkbook.Path & "\"
sSource = sPath & Range("B3").Value
sTarget = sPath & Range("B4").Value
sTxtA = Range("A8").Value
sTxtB = Range("B8").Value
sTxtC = Range("A9").Value
sTxtD = Range("B9").Value
sTxtE = Range("A10").Value
sTxtF = Range("B10").Value
sTxtG = Range("A11").Value
sTxtH = Range("B11").Value
sTxtI = Range("A12").Value
sTxtJ = Range("B12").Value
sTxtK = Range("A13").Value
sTxtL = Range("B13").Value
sTxtM = Range("A14").Value
sTxtN = Range("B14").Value
sTxtO = Range("A15").Value
sTxtP = Range("B15").Value
sTxtQ = Range("A16").Value
sTxtR = Range("B16").Value
sTxtS = Range("A17").Value
sTxtT = Range("B17").Value
sTxtU = Range("A18").Value
sTxtV = Range("B18").Value
sTxtW = Range("A19").Value
sTxtX = Range("B19").Value
sTxtY = Range("A20").Value
sTxtZ = Range("B20").Value
sTxtAA = Range("A21").Value
sTxtBB = Range("B21").Value
Close
Open sSource 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
'TaskID = Shell("c:\batch.bat")
On Error GoTo ERRORHANDLER
Shell "notepad " & sTarget, vbMaximizedFocus
Exit Sub
End Sub
Vielleicht kann mir ja jemand einen Tipp geben wo ich hierr ansetzen kann bzw wie ich die weiteren Varibalen in die Passage oben krieg.
Vielen Dank.
Gruß Stevie