风筝那根线 发表于 2024-6-18 10:04:39

请问一下,VBA怎么创建图层过滤器?

我目前是调用自带的命令设置的

想请问一下,VBA不支持图层过滤器对象么?
Sub 设置滤器()
    '删除滤器
    ThisDrawing.SendCommand "(command ""-LAYER"" ""Filter"" ""D"" ""组过滤器"" """")" & vbCr
    '新建过滤器
    ThisDrawing.SendCommand "(command ""-LAYER"" ""FILTER"" ""NEW"" ""GROUP"" """" ""0,0、编号,1、设备,1、设备名称,2、给水图,3、排水、地沟图,4、电位图,5、墙位图,6、送排风,Door,Roomm,RoomName,WALL,辅助不打印,辅助锁定图层,家具,面积框,图框,"" ""组过滤器"" """")" & vbCr
    '当前过滤器
    ThisDrawing.SendCommand "(command ""-LAYER"" ""Filter"" ""S"" ""组过滤器"" """")" & vbCr
End Sub

tiancao100 发表于 2024-6-18 12:38:30

Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")

    Dim filterType(0) As Integer
    Dim filterData(0) As Variant
    filterType(0) = 8                                   '图层名称
    filterData(0) = "*编号*"                         '图层名称

    '使用过滤器,由用户在屏幕上选择
    FilterSet.SelectOnScreen filterType, filterData

风筝那根线 发表于 2024-6-18 12:41:11

tiancao100 发表于 2024-6-18 12:38
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")

    Dim filterType(0) As Integer


你好,我的意思是图层管理器的过滤器,不是选择集过滤器
页: [1]
查看完整版本: 请问一下,VBA怎么创建图层过滤器?