Тема: VBA & LISP

Есть Lisp ф-ция в которой вызывается DVB приложение
(defun abc ( / ...)
.........
(vlax-invoke-method acad_application 'RunMacro        (strcat pfad "GUID.dvb!Modul1.knpguid"))
(setq a ?????)
)
После выполнения DVB приложения нужно получить возвращаемое значение VBA ф-ции. Т.е. (setq a b), где b смотри ниже VBA код.
Ниже кусок моего VBA кода (Просьба не смеяться, с VB я не дружу).
Sub knpguid()
     Dim b As String
      b = GetGUID()
End Sub

P.S.
в случае с ThisDrawing.SetVariable "users1", GetGUID() все OK, но я не хочу использовать сист. переменные.

Спасибо.

Re: VBA & LISP

Если уж непременно надо использовать VBA и иметь проблемы с видимостью переменных, лучше просто сохрани переменную в файл (можно и через setcfg) и прочитай в VL. "Неэстетично, зато дешево, надежно и практично"

Re: VBA & LISP

Issue
Is it possible to pass arguments to a VBA macro?

Solution
No, it is not possible to pass parameters from the program directly into a VBA macro. However, you can use the GetString function in VBA and the AutoLISP? (command) function to pass data

Напрямую взаимодействие AutoLISP и VBA фактически не обеспечивается никак. Все через командную строку. Да, не густо...

Re: VBA & LISP

> не
хочу использовать сист. переменные.

Пользуйтесь словарями. Очень полезно и не конфликтует ни с чем.