longcs 发表于 2003-10-16 23:08:00

vba能接受lisp参数吗?

请问各位,在lisp程序下vba能否象arx一样带参数执行,如(getdr par1 par2)
其中getdr为vba宏名,par1,par2为参数。

efan2000 发表于 2003-10-16 23:27:00

这是ACAD的技术文档中介绍的,可以参考一下。

将参数转给VBA宏

产品: 操作系统:
AutoCAD(R) 2000 Windows NT 4.0, Windows 95, Windows 98

修订时间: 1/20/2000 文档编号: TS20335

问题:
是否可以将变量传给VBA宏?不可能直接将参数从AutoCAD转给VBA宏,但是,可以用VBA中的GetString函数和AutoLISP中的(command)功能来传递数据。

解决方法:
这个例子显示了如何使用VBA和AutoLISP,将数据传递给VBA的宏:
在“MODULE”中:

Public Param1, Param2 As String


Sub MyMacro()
Param1 = ThisDrawing.Utility.GetString(False)
      Param2 = ThisDrawing.Utility.GetString(False)
      
      'Enter your code here
End Sub
然后按如下方法调用VBA宏:
(command "-VBARUN" " MyMacro " "Argument1" "Argument2")
注意: 在调用宏以前需要加载项目,另外也可以用 (command VBALOAD projectName.dvb) 来加载项目。
Related Technical Solutions

longcs 发表于 2003-10-21 09:52:00

谢谢
页: [1]
查看完整版本: vba能接受lisp参数吗?