Тема: Передача переменной объекта на переменную поли-линии неудачна!!!
Читайте комментарии в коде:
Public Sub SelSet_TEST() Dim Obj As AcadEntity Dim SelSet As AcadSelectionSet Dim Ln As AcadLine Dim Pl As AcadPolyline Dim Ci As AcadArc On Error GoTo Control 'Создаем новый набор выбора, например с именем "Set" Set SelSet = ThisDrawing.SelectionSets.Add("Set") On Error GoTo 0 'Запрос на выбор примитивов SelSet.SelectOnScreen 'Если не чего не выбрано, переходим к "Control" If SelSet.Count = 0 Then GoTo Control For Each Obj In SelSet If Obj.ObjectName = "AcDbLine" Then Set Ln = Obj Set Ln = Nothing ElseIf Obj.ObjectName = "AcDbPolyline" Then 'Здесь будет ошибка!!!! Несоответствие типов данных!!! Почему??? Set Pl = Obj Set Pl = Nothing ElseIf Obj.ObjectName = "AcDbArc" Then Set Ci = Obj Set Ci = Nothing Else MsgBox "Объект с именем " & Obj.ObjectName & " не включен в расчет", vbCritical End If Next Obj Control: SelSet.Delete 'Удаляем набор выбора End Sub
Как правильно передать переменной Pl объект типа "полилиния"?