vb二次开发cad的选择集程序的问题,求高手帮忙解答一下

我想选择“GCZJ”层的所有文字,但选不上,程序如下:
Private Sub command2_Click()
AppActivate acadApp.Caption
On Error Resume Next
Dim ssetobj As AcadSelectionSet
Set ssetobj = acadApp.ActiveDocument.SelectionSets.Add("test1")
Dim FType(0 To 1) As Integer
Dim FData(0 To 1) As Variant
FType(0) = 0
FData(0) = "TEXT"
FType(1) = 8
FData(1) = "GCZJ"
ssetobj.Select acSelectionSetAll, , , FType, FData
For Each pickedobjs In ssetobj
pickedobjs.Color = acGreen '把选上的实体变成绿色
pickedobjs.Update
Next
ssetobj.Delete
AppActivate form1.Caption
End Sub

求高手分析一下问题出在哪?谢谢了
可以肯定就是过滤器设置的问题,我不知道过滤器到底该怎样设?

我调整测式了一下,选集过滤没问题
你删掉On Error Resume Next再测试一下,看是哪里出了问题
查看一下是否引用了CAD,图层字母是否区分大小写
以下我通过了测试

Dim acadApp As AcadApplication
Dim acadDoc As AcadDocument

Private Sub Command1_Click()
On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
End If

Set acadDoc = acadApp.ActiveDocument

Dim FType(0 To 1) As Integer
Dim FData(0 To 1) As Variant
FType(0) = 0
FData(0) = "TEXT"
FType(1) = 8
FData(1) = "GCJZ"

Dim ssetobj As AcadSelectionSet
Set ssetobj = acadDoc.SelectionSets.Add("test2")
ssetobj.Select acSelectionSetAll, , , FType, FData

For Each pickedobjs In ssetobj
pickedobjs.Color = acGreen '把选上的实体变成绿色
pickedobjs.Update
Next
ssetobj.Delete

End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-21
个就很快了,主要看一下模块,模块知道了,才能谈CAD开发,好多东西VB和VBA可以互用,但要把CAD中搞好的模块调出来用
相似回答