以下代码运行不正常
Sub aa()
On Error GoTo errcontrol
'创建选择集
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")
Dim FilterType(0 To 1) As Integer
Dim FilterData(0 To 1) As Variant
'设置过滤器类型
FilterType(0) = 0
FilterType(1) = 0
'设置过滤数据
FilterData(0) = "line"
FilterData(1) = "arc"
'使用过滤器,由用户在屏幕上选择
FilterSet.SelectOnScreen FilterType, FilterData
errcontrol:
ThisDrawing.SelectionSets("xxx").DeleteEnd Sub
而这段代码却运行正常,
Sub aa()
On Error GoTo errcontrol
'创建选择集
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")
Dim FilterType(0 ) As Integer
Dim FilterData(0 ) As Variant
'设置过滤器类型
FilterType(0) = 0
'设置过滤数据
FilterData(0) = "line"
'使用过滤器,由用户在屏幕上选择
FilterSet.SelectOnScreen FilterType, FilterData
errcontrol:
ThisDrawing.SelectionSets("xxx").DeleteEnd Sub
那我想同时选择两种对象怎样写代码
Sub aa()
On Error GoTo errcontrol
'创建选择集
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")
Dim FilterType(0 To 1) As Integer
Dim FilterData(0 To 1) As Variant
'设置过滤器类型
FilterType(0) = 0
FilterType(1) = 0
'设置过滤数据
FilterData(0) = "line"
FilterData(1) = "arc"
'使用过滤器,由用户在屏幕上选择
FilterSet.SelectOnScreen FilterType, FilterData
errcontrol:
ThisDrawing.SelectionSets("xxx").DeleteEnd Sub
而这段代码却运行正常,
Sub aa()
On Error GoTo errcontrol
'创建选择集
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")
Dim FilterType(0 ) As Integer
Dim FilterData(0 ) As Variant
'设置过滤器类型
FilterType(0) = 0
'设置过滤数据
FilterData(0) = "line"
'使用过滤器,由用户在屏幕上选择
FilterSet.SelectOnScreen FilterType, FilterData
errcontrol:
ThisDrawing.SelectionSets("xxx").DeleteEnd Sub
那我想同时选择两种对象怎样写代码
解决方案 »
- 控制键盘操作
- vb datareport 打印多页,想每页都显示表头,怎么控制啊?谢谢了
- 100分:奇怪的子类,奇怪的WM_GETTEXT……
- 求助:如何让自己的程序虚拟成远程服务端?
- 问一个VB似乎做不到的问题.TechnoFantasy、supergreenbean、zyl910、rainstormmaster
- 求TextBox中字体的高度(单位为缇)(请 viena liul17 laviewpbt rainivy 来接分)
- 我该如何将我的进程...
- 在ACCESS中,如何同时打开多个表,并且同时写入多个表。请举个例子。
- 数据导出
- 各位高手,用vb编程可以采用中断方式嘛?
- 请教下Listview行数值的合计
- 获取键盘事件
FilterData(0) = "line"也没错
关键是line----你要选择line应该用Line和Arc
这些数据你要从AutoCAd中的list命令copy,大小写不对就不对.
Dim FilterData(0 ) As Variant
'设置过滤器类型
FilterType(0) = 0
'设置过滤数据
FilterData(0) = "line" 能通过吗? "Line"和"line"的区别.
你这是autocad帮助文件的示例程序.
这比你的要求复杂多了,我有的是数组方法.
Function ReturnAllSelectSet(fTypeArray As Variant, fDataArray As Variant) As AcadSelectionSet
Dim Sset As AcadSelectionSet
On Error Resume Next
'建立选择集
ThisDrawing.SelectionSets("mccad").Delete
Set Sset = ThisDrawing.SelectionSets.Add("mccad")
'建立过滤器
Dim fType, fData
ReDim fType(0 To UBound(fTypeArray) + 2) As Integer
ReDim fData(0 To UBound(fDataArray) + 2) As Variant
fType(0) = -4
For ii = 0 To UBound(fTypeArray)
fType(ii + 1) = fTypeArray(ii)
Next ii
fType(UBound(fType)) = -4
''
fData(0) = "<Or"
For ii = 0 To UBound(fDataArray)
fData(ii + 1) = fDataArray(ii)
Next ii
fData(UBound(fData)) = "Or>"
''
'选择过滤出图形中所有的标注对象
Sset.Select acSelectionSetAll, , , fType, fData
Set ReturnAllSelectSet = Sset
End Function
Sub aa()
On Error GoTo errcontrol
'创建选择集
Set FilterSet = ThisDrawing.SelectionSets.Add("xxx")
Dim FilterType(0 To 3) As Integer
Dim FilterData(0 To 3) As Variant
'设置过滤器类型
FilterType(0) = -4
FilterType(1) = 0
FilterType(2) = 0
FilterType(3) = -4
'设置过滤数据
FilterData(0) = "<or"
FilterData(1) = "line"
FilterData(2) = "arc"
FilterData(3) = "or>"
'使用过滤器,由用户在屏幕上选择
FilterSet.SelectOnScreen FilterType, FilterData
errcontrol:
ThisDrawing.SelectionSets("xxx").Delete End Sub
还是要感谢ningyong58 ,给你加分