明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1223|回复: 1

请问我的宏为什么在VBA编辑器运行正常,用命令运行却不行?

[复制链接]
发表于 2020-5-27 11:38:40 | 显示全部楼层 |阅读模式
我的代码如下:
Sub test05()
    Dim Ent As AcadEntity
    Dim SS As AcadSelectionSet
    Set SS = PickFirstSSet
    For Each Ent In SS
        Ent.color = acYellow
    Next

End Sub

Function PickFirstSSet() As AcadSelectionSet
    On Error Resume Next
    ThisDrawing.SelectionSets("PICKFIRST").Delete
    Set PickFirstSSet = ThisDrawing.PickfirstSelectionSet
    If PickFirstSSet.Count = 0 Then
        PickFirstSSet.SelectOnScreen
    End If
End Function

我先在屏幕上点选了一个对象,例如一条直线,然后回到VBA 编辑器里点运行上面的代码,一切正常,直线如期变成了黄色,
但当我在LISP编辑器输入下面代码,并保存加载后,同样先在屏幕上点选了一个对象,例如一条直线,然后输入AAA,却要求我选择对象,也就是我在屏幕已选的直线先择被清除了,又要重新选。
(defun c:AAA()
        (command"-vbarun" "test05")
          (prin1)
       
  )


发表于 2020-5-30 20:04:36 | 显示全部楼层
好像是用(command "-vbarun " "test05") 就会把PICKFIRST选择集清掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:46 , Processed in 0.166222 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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