dong20030432 发表于 2018-3-26 11:36:02

如何用VBA提示用户拾取编组图框,并获取编组名称??高手在哪里?

本帖最后由 dong20030432 于 2018-3-30 08:58 编辑

如题,原计划用户直接点取编组对象,直接返回其名称,但实际无论如何点取,得到的都是编组中的某个对象,无法实现。后又想到逐一得到用户选择对象的句柄列表(数组1),与groups集合中的对象的句柄(数组2)对比,得出用户选择的编组,结果发现group编组的句柄并不在数组1中,也无法实现。
请教各位高手,具体应该怎么实现,谢谢了!

dong20030432 发表于 2018-3-28 09:45:39

高手快来!

dong20030432 发表于 2018-3-28 09:46:18

帮帮忙,谢谢大家了!

zzyong00 发表于 2018-3-31 22:18:24

Dim obj1 As AcadObject, pt As Variant
ThisDrawing.Utility.GetEntity obj1, pt
Dim objG As AcadGroup, obj2 As AcadObject
For Each objG In ThisDrawing.Groups
    For Each obj2 In objG
      If obj1.ObjectID = obj2.ObjectID Then GoTo Finished
    Next
Next
Finished:
Debug.Print objG.Name

是这意思吗?

zzyong00 发表于 2018-3-31 22:26:10

我发现组可以嵌套,所以,一个对象,可能在多个组里

dong20030432 发表于 2018-4-2 11:51:36

zzyong00 发表于 2018-3-31 22:26
我发现组可以嵌套,所以,一个对象,可能在多个组里

哦,原来组可以嵌套,还真不知道,又长知识了,非常感谢!
感谢您的代码,我回头按您的代码再试试,应该是这样。我新手,还在摸索,感谢您的帮助!

dong20030432 发表于 2018-4-2 12:20:48

zzyong00 发表于 2018-3-31 22:18
是这意思吗?

非常感谢您的代码,成功帮我解决了问题,谢谢谢谢!

dong20030432 发表于 2018-4-2 12:21:37

zzyong00 发表于 2018-3-31 22:18
是这意思吗?

原来是要两层循环才可以呀!{:1_1:}
页: [1]
查看完整版本: 如何用VBA提示用户拾取编组图框,并获取编组名称??高手在哪里?