明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 革天明

求LISP与VBA交叉编程的例子,完整,能运行

  [复制链接]
 楼主| 发表于 2012-3-12 16:38 | 显示全部楼层
chpmould 发表于 2012-3-11 19:48
当然可以,但这样写的程序不利于维护...

LISP转成VLX,VBA中只写一些调用
或者使用LISP来调用VBA的界面,放弃DCL界面
发表于 2012-3-12 16:43 | 显示全部楼层
[原创] █ 直接将VBForm转DCL 程序【VB2DCL】【含截图及演示】█
http://bbs.mjtd.com/forum.php?mo ... &fromuid=342850

老猫有个Visual DCL 没有公布
 楼主| 发表于 2012-3-12 18:02 | 显示全部楼层
qcw911 发表于 2012-3-12 16:43
[原创] █ 直接将VBForm转DCL 程序【VB2DCL】【含截图及演示】█
http://bbs.mjtd.com/forum.php?mod=view ...

这个我也试用过了,还是稍有些问题的,不过这个软件的作用很大,我只了解LISP,对DCL和VBA了解都不多,同时DCL有个缺陷,DCL是静态的,在不按下确定键,界面上的数值什么都不能赋值。还是希望LISP与VBA交叉编译,今天成功地完成了VBA调用LISP,

点评

祝你成功  发表于 2012-3-12 18:31
发表于 2012-3-12 21:55 | 显示全部楼层
革天明 发表于 2012-3-11 18:04
我想研究一下如何来LISP和VBA交叉编程,使用VBA的界面,这样不比使用其它界面工具还得更好吗?

我已经用过这种方式了,效果很好.取长补短.
 楼主| 发表于 2012-3-12 22:00 | 显示全部楼层
VBALISPER 发表于 2012-3-12 21:55
我已经用过这种方式了,效果很好.取长补短.

请问有例子吗?我今天就实现了一点,点一下VBA中的commandbutton,实现LIPS的程序
VBA中只有这样几句:
Private Sub CommandButton1_Click()
   ThisDrawing.SendCommand ("(load " & """" & "cx001.lsp" & """" & ")" & " ")
   ThisDrawing.SendCommand "cx001" & " "
   Me.Hide
End Sub
LISP的代码是:
(defun c:cx001()
   (setq os_mode(getvar "osmode"))
   (setvar "osmode" 0)
   (command "_line" '(0 0) '(100 100) "")
   (command "_circle" '(0 0) 15)
   (command "_circle" '(100 100) 30)
   (sevar "osmode" os_mode)
   (princ)
)
这个属于VBA调用LISP,如果想改写成LISP调用VBA的界面该如何写?
发表于 2012-3-12 23:13 | 显示全部楼层
LISP调用VBA的
(defun c:zzt()
(vl-vbarun "钻孔柱状图工具.dvb!test")
)
发表于 2012-3-13 12:35 | 显示全部楼层
太好了,多谢楼主分享这么多好资料啊!慢慢学习
发表于 2012-3-15 17:50 | 显示全部楼层
谢谢分享            
发表于 2012-3-17 15:47 | 显示全部楼层
革天明 发表于 2012-3-12 22:00
请问有例子吗?我今天就实现了一点,点一下VBA中的commandbutton,实现LIPS的程序
VBA中只有这样几句:
...

还没搞定吗?就用这个就能LISP调用VBA:
LISP调用VBA的
(defun c:zzt()
(vl-vbarun "钻孔柱状图工具.dvb!test")
)

注,TEST是VBA里的宏名称.前面是工程文件名.你懂的.
 楼主| 发表于 2012-3-18 17:03 | 显示全部楼层
VBALISPER 发表于 2012-3-17 15:47
还没搞定吗?就用这个就能LISP调用VBA:
LISP调用VBA的
(defun c:zzt()

已经搞定了一个小例子了,目前DCL的动态化也实现了,目前自己的程序使用DCL,使用VBA的界面以后有时间再研究吧,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-25 02:05 , Processed in 0.238974 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表