等于的砧板 发表于 2019-1-1 08:20:12

【求助】VBA程序调试成功,但命令行运行失效


新手,想做一个更改图层的小程序,如附件,想要实现功能:
1、文本框1:显示被选中实体图层
2、文本框2:显示当前图层
3、列表框:显示图纸所有图层
4、功能:运行后,点击列表框数据,
            a、当“文本框1”有数据时,选中实体图层更改为列表框中被选中图层;
            b、若“文本框1”为空,更改当前图层为列表框被选中图层

5、当前问题:在VBE环境中或VBARUN,-VBARUN,可实现所需功能。
                  采用LISP 文件加载进CAD后,通过命令运行时,更改实体图层成功;更改当前图层时显示更改成功后
                  又返回原当前层

加载用LISP 程序
(defun c:TC()
          (command "-vbarun" "Change_Layer.dvb!ChangeLayer.Change_Layer")
          (princ)
)

等于的砧板 发表于 2019-1-2 19:05:42

【结贴】问题解决了,因为挂了PCCAD 导致系统变量设置失败,将设置当前层的命令调整为:
ThisDrawing.SendCommand "(command " & Chr(34) & "Clayer" & Chr(34) & " )" & vbCr & myLayer & vbCr
为查错,这段源码的结构已经改得不成样子了,有需要的朋友可以自己改成理想的结构。
页: [1]
查看完整版本: 【求助】VBA程序调试成功,但命令行运行失效