Mit VLA-EVAL kann man ja wunderschön aus LISP alle möglichen VBA-Ausdrücke starten.
z.B. vla-eval (vlax-get-acad-object) "MSGBOX \"das ist eine kritische Messagebox\" , vbcritical")
Um jetzt aber vom VBA-Ausdruck Ergebnisse zurückzubekommen, mache ich das immer über ein USER-Variable
z.B.:
(vla-eval (vlax-get-acad-object) "ThisDrawing.SetVariable \"USERI1\", MsgBox(\"Abfrage\", vbQuestion + vbYesNo)")
in USERI1 steht halt dann 6 (für JA) oder 7 (für nein)
oder man kann auch sehr einfach VBA-Makros mittels VLA-EVAL starten
legt man im VBA-Editor im Kontext ThisDrawing eine SUB namens TEST an, startet man das aus VBA einfach mittels
(vla-eval (vlax-get-acad-object) "ThisDrawing.Test")
weiss da jemand eine bessere Alternative (ohne die USER-Variablen), um hier Rückgabewerte zu erreichen ?
------------------
Ing. Anton Fuchs
WWW.FFZELL.AT.TC
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP