李书生 发表于 2012-3-16 11:56:44

请教VBA问题

请教各位老师:
下面代码在运行第二遍时出现致命错误。是为什么?
谢谢!
Sub Example_Select()
   
    Dim SSetColl As AcadSelectionSets
    Set SSetColl = ThisDrawing.SelectionSets
   
    Dim ssetObj As AcadSelectionSet
   
    If SSetColl.Count > 0 Then
   
      For Each obj In ThisDrawing.SelectionSets
            obj.Delete
        Next 'obj
    End If
   
    Set ssetObj = SSetColl.Add("SSET")
   
    Dim mode As Integer
    Dim corner1(0 To 2) As Double
    Dim corner2(0 To 2) As Double
   
    mode = acSelectionSetCrossing
    corner1(0) = 10: corner1(1) = 286: corner1(2) = 0
    corner2(0) = 94: corner2(1) = 291: corner2(2) = 0
    ssetObj.Select mode, corner1, corner2
   
    Dim txt As AcadEntity
    Dim tx As AcadMText
    For Each txt In ssetObj
    If txt.ObjectName = "AcDbMText" Or txt.ObjectName = "AcDbText" Then
       Debug.Print txt.ObjectName & "内容" & txt.TextString
    End If
   
    Next

   
End Sub
页: [1]
查看完整版本: 请教VBA问题