Hallo,
ich habe hier unterschiedliche VB-Scripte am Start, die vom Aufbau grundsätzlich gleich sind, sich aber im RegEx-Teil je nach Fall unterscheiden. Um nicht den gesamten Code (ok - ist überschaubar) anpacken zu müssen stelle ich mir vor den RegEx-Teil auszulagern und mit einer ID o.ä. zu verheiraten.
Exemplarisch sieht ein VBS-Code aktuell so aus:
Von der Sorte habe ich eine Ganze Menge die sich nur im Bereich zw. With ... und End With unterscheiden.
Zum Teil unterscheiden sich die VB-Scrpte aber auch nur vom Namen und sind intern gleich.
Das liegt daran, das ich in die zuverarbeitenden Dateien (PDF) zunächst reinschaue nach einer Prod-ID bzw. diese dann zusammenbaue.
Über diese Prod-ID wird dann das VB-Script angesprochen, das als Namen die Prod-ID trägt.
Das ganze würde ich gerne etwas vereinfachen bzw. leichter handhabbar machen.
Gruß
_opiWahn_
ich habe hier unterschiedliche VB-Scripte am Start, die vom Aufbau grundsätzlich gleich sind, sich aber im RegEx-Teil je nach Fall unterscheiden. Um nicht den gesamten Code (ok - ist überschaubar) anpacken zu müssen stelle ich mir vor den RegEx-Teil auszulagern und mit einer ID o.ä. zu verheiraten.
Exemplarisch sieht ein VBS-Code aktuell so aus:
Visual Basic:
InFile = WScript.Arguments(0)
OutFile = WScript.Arguments(1)
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.GetFile(InFile).Size = 0 Then
fso.CreateTextFile(OutFile)
WScript.Quit
End If
T = fso.OpenTextFile(WScript.Arguments(0)).ReadAll
With New RegExp
.Global = True
.IgnoreCase = True
.Multiline = True
'*** ersetze alle Leerzeichen >= 2 mit ";"
.Pattern = "[ ]{2,}"
T = .Replace(T, ";")
'*** lösche alle ";" am Beginn jeder Zeile
.Pattern = "^(;| )(.*)"
T = .Replace(T, "$2")
'*** ersetze alle "." und " " >=2 mit " "
.Pattern = "[. ]{2,}"
T = .Replace(T, " ")
'*** ersetze ":" mit ""
.Pattern = "(:)"
T = .Replace(T, "")
'*** ersetze alles zw. erstem und letztem ";" durch ein ";"
.Pattern = "(;.*;)"
T = .Replace(T, ";")
'*** setze "." zwischen Datum
.Pattern = "([\d]{2})(.*)([\d]{2})(.*)(20[\d]{2})"
T = .Replace(T, "$1.$3.$5")
'*** setze ";*" wenn kein Werte nach Suchbegriff
.Pattern = ""
T = .Replace(T, "")
End With
fso.CreateTextFile(WScript.Arguments(1), True).Write(T)
Von der Sorte habe ich eine Ganze Menge die sich nur im Bereich zw. With ... und End With unterscheiden.
Zum Teil unterscheiden sich die VB-Scrpte aber auch nur vom Namen und sind intern gleich.
Das liegt daran, das ich in die zuverarbeitenden Dateien (PDF) zunächst reinschaue nach einer Prod-ID bzw. diese dann zusammenbaue.
Über diese Prod-ID wird dann das VB-Script angesprochen, das als Namen die Prod-ID trägt.
Das ganze würde ich gerne etwas vereinfachen bzw. leichter handhabbar machen.
Gruß
_opiWahn_