VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten
Hallo,
ich möchte mittels vb script in einem text ein wort suchen und
wenn dieses gefunden wurde die nächsten 2 Wörter ersetzen.
Text in txt Datei: " Datum
das ist ein Beispieltext"
Nun möchte ich nicht das Wort "das" ersetzten sondern wenn
" das" gefunden wurde " ist ein " gegen ein Datum austauschen das ich über
eine Inbox eingebe.
mein Code schaut derzeit so aus :
datei=C: \123456.txt
strWorkDir = datei
strText = ""
strText2 = InputBox ("Datum eingeben")
If Suchwort = "123456" Then
strPathFind = "das"
Else
strPathFind = "ein"
End If
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
'# wenn die Datei der Variablen "strWorkDir" existiert dann lese Datei
If objFSO.FileExists(strWorkDir) Then
'# öffnet das Textfile der Variablen strWorkDir zum lesen
Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading)
'# ersetzte strPathfind inhalt gegen strText2 Inhalt
strreplace = Replace(objFile.ReadAll,strPathFind, strText2)
'#öffne strWorkDir zum schreiben
Set objFile = objFSO.OpenTextFile(strWorkDir, ForWriting)
'#schreibe den umgewandelten Text zurück
objFile.Write (strreplace)
ich möchte mittels vb script in einem text ein wort suchen und
wenn dieses gefunden wurde die nächsten 2 Wörter ersetzen.
Text in txt Datei: " Datum
das ist ein Beispieltext"
Nun möchte ich nicht das Wort "das" ersetzten sondern wenn
" das" gefunden wurde " ist ein " gegen ein Datum austauschen das ich über
eine Inbox eingebe.
mein Code schaut derzeit so aus :
datei=C: \123456.txt
strWorkDir = datei
strText = ""
strText2 = InputBox ("Datum eingeben")
If Suchwort = "123456" Then
strPathFind = "das"
Else
strPathFind = "ein"
End If
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
'# wenn die Datei der Variablen "strWorkDir" existiert dann lese Datei
If objFSO.FileExists(strWorkDir) Then
'# öffnet das Textfile der Variablen strWorkDir zum lesen
Set objFile = objFSO.OpenTextFile(strWorkDir, ForReading)
'# ersetzte strPathfind inhalt gegen strText2 Inhalt
strreplace = Replace(objFile.ReadAll,strPathFind, strText2)
'#öffne strWorkDir zum schreiben
Set objFile = objFSO.OpenTextFile(strWorkDir, ForWriting)
'#schreibe den umgewandelten Text zurück
objFile.Write (strreplace)
Please also mark the comments that contributed to the solution of the article
Content-Key: 305746
Url: https://administrator.de/contentid/305746
Printed on: April 19, 2024 at 01:04 o'clock
2 Comments
Latest comment
strFile = "C: \123456.txt"
Set fso = CreateObject("Scripting.Filesystemobject")
content = fso.OpenTextFile(strFile,1).ReadAll()
Set regex = CreateObject("vbscript.regexp")
regex.Global = True: regex.IgnoreCase = True
regex.Pattern = "(das) ([^\s]+ [^\s]+)"
strDatum = InputBox("Datum eingeben:")
fso.OpenTextFile(strFile,2).Write(regex.Replace(content,"$1 " & strDatum))