只需一步,快速开始
我现在做了一个vba宏,然后写了一个lisp存在宏同一个目录里,我的想法是想在AutoCAD的命令行里输入一个命令,就能直接运行vba宏
lisp的内容如下:
(defun c:xkxj() (setvar "cmdecho" 0) (command "-vbarun" "E:\autocad\ldtnew\hxkxj.dvb!ThisDrawing.Test5") (setvar "cmdecho" 1) (princ) )
我在autocad中启动组里面加载上面的两个文件,然后在命令行里输入xkxj,运行报错:找不到宏,不知道是那里的原因?大家帮忙看一下
宏没有问题,我用vbarun执行宏都可以正确执行宏
使用道具 举报
大家帮忙看一下呀,我现在解决不了这个问题
试试看把你的路径中的"\"符号翻过来,写成"/"
E:\autocad\ldtnew\hxkxj.dvb!
上面不写 试试看
先将宏放到搜索路径里
(vl-load-com)(vl-vbaload(findfile "拍卖地块加点.dvb"))(defun c:pmjd() (vl-vbarun "jd") (princ))
将 (command "-vbarun" "E:\autocad\ldtnew\hxkxj.dvb!ThisDrawing.Test5") 改为
(command "_-vbarun" "hxkxj") 即可(lsp文件与dvb未见同目录)
好像应该将thisdrawing去掉
首先需要加载vba,才能运行lisp命名执行vba。
那么怎么样实现下面的功能呢:
执行命令xx,如果vba没有加载,则加载vba,路径“yy”,执行zz函数。
如果已经加载了vba,直接执行函数。
哪位高手有这个lsp?
(defun C:abcd () (vl-load-com) (vla-runmacro (vlax-get-acad-object) "repltext.dvb!module1.ReplaceText") (princ))
上面的代码生成lsp文件,把lsp文件和repltext.dvd放到搜索路径里,加载lsp文件,运行abcd,如果repltext未加载就自动加载来运行replacetext宏
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-26 09:44 , Processed in 0.177452 second(s), 24 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.