Waarom werkt het niet als ik in VBA de "Microsoft VBScript Regular Expressions 5.5"-referentie (Tools >> References in de VBE) aan zet en de volgende code probeer te draaien:
Wat ik echter krijg, is een 'lege' regel, met daarin "$1".
Iemand een idee?
(Ik heb het maar hier geplaatst, aangezien ik het in VBA aan het schrijven ben, maar het zou zomaar ook een "clientside scripting" probleem kunnen zijn...)
Meer informatie: http://www.regular-expressions.info/vbscript.html
P.S. Ik begrijp dat er ook andere manieren zijn om dit op te lossen (andere programma's), maar ik heb Excel hier bij nodig, vandaar deze keuze.
Visual Basic:
Als ik dit zo draai, verwacht ik een regel met een $-teken voor de gevonden RegEx (dus de complete regel), gevolgd door een CrLF, gevolgd door dezelfde regel als de RegEx, waar TEXT3 vervangen is door TEXT4.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| Dim FSO As Scripting.FileSystemObject Dim TS As Scripting.TextStream Set FSO = New Scripting.FileSystemObject Set TS = FSO.OpenTextFile(sSource, ForReading, False) Dim RegEx As VBScript_RegExp_55.RegExp Set RegEx = New VBScript_RegExp_55.RegExp RegEx.Global = False RegEx.MultiLine = True RegEx.Pattern = "^((TEXT1\s+?TEXT2.+?)TEXT3(.+?))$" sData = TS.ReadAll ' TS = source TS.Close ' TEXT4 = tekst die TEXT3 vervangt sData = RegEx.Replace(sData, "$$1" & vbCrLf & "$2" & TEXT4 & "$3") '-----------------------------^^^--------------------------------- ' Dit is volgens mij het 'probleem' Set TS = FSO.CreateTextFile(sFile & ".out", True) ' TS = output TS.Write sData TS.Close |
Wat ik echter krijg, is een 'lege' regel, met daarin "$1".
Iemand een idee?
(Ik heb het maar hier geplaatst, aangezien ik het in VBA aan het schrijven ben, maar het zou zomaar ook een "clientside scripting" probleem kunnen zijn...)
Meer informatie: http://www.regular-expressions.info/vbscript.html
P.S. Ik begrijp dat er ook andere manieren zijn om dit op te lossen (andere programma's), maar ik heb Excel hier bij nodig, vandaar deze keuze.
[ Voor 6% gewijzigd door CoRrRan op 03-08-2011 12:31 ]
-- == Alta Alatis Patent == --