Hallo!
Mein Problem ist Folgendes:
Ich habe ein RTF. In einer Klasse greife ich dann auf dieses Feld zu, hole mir den sich darin befindenden Script-Code, schreibe diesen in die String-Variable script$ und möchte diesen in einem Execute (script$) ausführen lassen.
Befinden sich simple Anweisungen in dem Code funktioniert der Execute.
Sobald ich aber eine verschachtelte Anweisung schreibe, z.B.
Call doc.ReplaceItemValue("FIELDNAME", "VALUE -> " & doc.GetItemValue("OHTERFIELDNAME")(0))
bricht Execute mit der Fehlermeldung "
Unexpected: String Constant; Expected Statement" ab.
Füge ich den verschachtelten Code direkt in die Variable script$ (ohne ihn also vorher aus dem Feld auszulesen), funktioniert der Execute-Befehl wieder.
Was mache ich falsch??
Hier nochmal bildlich:
Text im Feld "ScriptCode": (funktioniert nicht)
|
' just a comment
Msgbox Proc.GetItemValue("FIELDNAME")(0)
Call Proc.ReplaceItemValue("FIELDNAME", "VALUE -> " & Proc.GetItemValue("OTHERFIELDNAME")(0))
|
script$ = doc.ScriptCode(0)
Execute script$
Code in der Variablen script$: (funktioniert)
script$ = |
' just a comment
Msgbox Proc.GetItemValue("FIELDNAME")(0)
Call Proc.ReplaceItemValue("FIELDNAME", "VALUE -> " & Proc.GetItemValue("OTHERFIELDNAME")(0))
|
Execute script$
Beim Debuggen ist mir aufgefallen, dass wenn der Wert aus dem Feld kommt, die Anführungszeichen maskiert sind, also z.B.:
Msgbox Proc.GetItemValue(""FIELDNAME"")(0).
Kommt der Wert direkt aus der Variablen, kann der Debugger diesen nicht mehr anzeigen
(aber der Execute führt ihn korrekt aus)
Ich hoffe, ihr könnt mir weiterhelfen!
Grüße,
Mok