VBA; genest IF THEN ELSE FOR Endif; End IF zonder blok IF

Status
Niet open voor verdere reacties.

Mir007

Nieuwe gebruiker
Lid geworden
18 sep 2008
Berichten
3
Als beginnend VBA gebruiker heb ik het volgende probleem:
Ik heb een xml inputfile waarin blokken van regels voor komen. Ik bedoel hiermee dat als er een bepaalde regel voor komt (startregel van een blok) deze gevolgd wordt doorregels met eigenschappen die behoren bij de startregel. Vervolgens komt het volgende blok, enz.
De start regel begint altijd met de string <facility type=. Hier test ik op en stuur hem naar output, dat lukt.
Nu wil ik de startregel samen met een bijbehorende eigenschappenregel naar output gestuurd hebben als in de eigenschappen regel op een NIET vaste plaats in de regel disabled="false" staat. Hiervoor wil ik een teller laten lopen om een aantal posities na te lopen.
Nu heb ik een opzetje gemaakt, zie hieronder, met IF THEN ELSE FOR EndIF. Als de FOR regel in de code staat klaagt de debugger bij EndIF over: "End IF zonder blok IF"
Wat doe ik fout?
=============================================
Het hart van mijn code:
Do Until EOF(1)
Line Input #1, ingelezenregel$
uit$ = Mid$(ingelezenregel$, 1, 15)
If uit$ = "<facility type=" Then
Print #3, ingelezenregel$ 'naar output file
Else
For n = 50 To 100
plaats = InStr(n + 1, ingelezenregel$, "disabled=")
Print #2, "else" 'voor testdoeleinden
End If
Loop
==============================================================
Relevant stukje uit de input:
<facility type="..................
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="true" defaultValue="true" disabled="false" ...........
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="false" defaultValue="false" disabled="false" ...........
...
<facility type="..................
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="false" defaultValue="false" disabled="false" ...........
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
..
<facility type="..................
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="false" defaultValue="false" disabled="false" ...........
<property clearOnNewVersion="false" defaultValue="false" disabled="true" .....................
<property clearOnNewVersion="false" defaultValue="false" disabled="false" ...........
<property clearOnNewVersion="false" defaultValue="true" disabled="false" ...........
..
================================================================
 
Je begint een for die nergens een next krijgt.
Mogelijk wordt de foutmelding uiteindelijk daar door veroorzaakt.
Probeer de next n voor de end if
mvg leo
 
Laatst bewerkt:
Oeps, zo simpel ;)

Thx, helemaal over het hoofd gezien. En ik maar zweten ;)
Nog een vraagje op mijn apistel:
Hoe kan ik testen op de string disabled="false". Het gaat om de ".
Ik kom er niet uit, "disabled="false"" werkt niet.
 
dat doe je door de " door het chr teken te vervangen

Het makkelijkst in een gedimde string
bv
Code:
sTemp = strings.chr(34)
Nu kun je string als volgt samenstellen:
Code:
"disabled=" & sTemp & "false" & sTemp
"
 
Voorlopig kan ik weer vooruit.
Bedankt!!!!!!!!!!!!!!!!!!
:thumb::thumb::thumb:

Nu nog uitvinden hoe dit draadje gesloten kan worden :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan