帮忙看一下下面程序的问题!
Public Sub s()<BR>Dim i As Integer<BR>Dim ft(1) As Integer<BR>Dim fd(1) As Variant<BR>Dim Sset As AcadSelectionSet<BR>If ThisDrawing.SelectionSets.Count <> 0 Then<BR> For i = 0 To ThisDrawing.SelectionSets.Count - 1<BR> Set Sset = ThisDrawing.SelectionSets.Item(i)<BR> Sset.Delete<BR> Next<BR>End If<BR>Set Sset = ThisDrawing.SelectionSets.Add("AA")<BR>Sset.SelectOnScreen<BR>If Sset.Count = 0 Then Exit Sub<BR>ft(0) = 8: fd(0) = Sset.Item(0).Layer<BR>ft(1) = 62: fd(1) = Sset.Item(0).color<BR>Sset.Clear<BR>Sset.Select acSelectionSetAll, , , ft, fd<BR>Sset.Highlight (True)<BR>End Sub运行上面宏后,符合要求的对象高亮显示,但是这些被选中的对象不像在CAD里直接选取一样,能够通过颜色下拉列表直接改变其颜色?这是为什么?有什么办法可以解决该问题。 注意这只是高亮显示,而不是选中状态。<BR>选中状态只有手工才能做到。通过程序做不了。 vba难道就这么弱? 你看看LISP行不行。呵呵。 在vb中试试 你用图层区分颜色不就行了,选中的对象放到别的颜色的图层里。退出选择就再放回来。 多侃侃
页:
[1]