Тема: Программное снятие выделения

можно ли средствами VBA снять выделение (а-ля shortcut "Deselect All")?

Re: Программное снятие выделения

ThisDrawing.ActiveSelectionSet.Clear

Re: Программное снятие выделения

Недавно сам столкнулся с этой проблемой и нащупал более надежный способ:

ThisDrawing.ActiveSelectionSet.Highlight False

Re: Программное снятие выделения

насколько знает Help - ActiveSelectionSet readonly, так что никакой Clear тут работать не может, а Highlight всего лишь показывает выделение не видимым. Тобто после Highlight false в коллекции ActiveSelectionSet всёравно остаются все элементы. Разве не так?
PS решил я иначе - написал на лиспе функцию, и вызвал её из ВБА

Re: Программное снятие выделения

> Mitek
Если я правильно перевел, то

.Highlight False

именно удаляет подсвеченный объект из набора.

Signature
object.Highlight HighlightFlag
Object
All Drawing Objects, SelectionSet, AttributeReference, Group
The object or objects this method applies to.
HighlightFlag
Boolean; input-only
TRUE: The object is highlighted.
FALSE: The existing highlight is removed from the object.

Это из хелпа. Сам, правда, не пробовал.
Кроме того передав ActiveSelectionSet объектной переменной можно делать с ней все, что угодно. Лисп здесь не нужен. Но, возможно, с Лиспом и интереснее.

Re: Программное снятие выделения

Господа!
Что-то я теряю нить...
Был вопрос:можно ли средствами VBA снять выделение
Ответ: Да, можно.
Вот простейший тест, попробуйте сами -

Dim ss As AcadSelectionSet
     Set ss = ThisDrawing.ActiveSelectionSet
     ss.Clear
     ss.Highlight False

Далее.
При чем здесь LISP? Давайте так и до Assembler'а
дойдем...
Кстати, метод clear прекрасно чистит ActiveSelectionSet, а метод Highlight False снимает именно подсветку (выделение) с объектов, оставляя их в наборе. Но ведь это было целью вопрошающего? Или в термин "выделение" вкладывался какой-то иной неизвестный мне смысл???

Re: Программное снятие выделения

> LeonidSN
только в отладчике это код не работает smile
но про обычном исполнении очень даже.
спасибо