|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
VBA Как передать в макрос вбранные объекты
Проектировщик ЭО,ЭМ, ЭОС
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 257
|
||
Просмотров: 4665
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,410
|
Попробуй использовать нечто типа ImpliedSelection или PreviousSelection. К сожалению, VBA уже очень давно не пользовался, даже справки - и той на машине нет
![]() P.S. Не уверен, но может сработать acSelectionSetPrevious
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 21.03.2011 в 22:53. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,410
|
А не проще в таком случае будет вообще хранить хендлы объектов как массив строк? Ну или вообще создать пользовательский тип данных и уже из него делать массив?
Или это будет слишком затратное решение?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Плохо понял суть, но попробую посоветовать )
1. Получать объекты из ранее созданного набора. - Нет гарантии, что он еще будет, т.к. другие макросы могут почистить наборы (я так всегда делаю ![]() - Нет гарантии, что объекты еще будут находится на чертеже (пользователь, между запусками макроса, может удалить объекты на чертеже). Что, приведет к ошибке. - Работает только в одном сеансе. Т.е. наборы не сохраняются между сеансами акада. 2. Сохранять список объектов самому. Записывать id или handle, и по ним находить объекты в базе. - более правильно, по-моему. Возможно, есть еще решения, и более эффективные. Опс, облажался, не обновил ленту. Сорри. |
|||
![]() |
|
||||
Между сеансами сохранение не требуется.
Просто хотел фильтровать из общей массы по одному параметру, а потом уточнять по другому в уже найденом. Только не понял как передать уже именованый массив, в место oSset.SelectOnScreen? Хотя наверно это делать лучше не перезапуском макроса? т.е. задача организовать повторное применение "фильтра" к уже найденному... |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить стоимость проектных работ, если не известна стоимость строительства? | dextron3 | Поиск литературы, чертежей, моделей и прочих материалов | 37 | 27.08.2014 18:32 |
перестал работать VBA макрос | kvv0476 | Программирование | 15 | 13.01.2011 16:08 |
"Расчет ведомости отправочного элемента. Макрос VBA Excel." Вопросы и ответы по програмке. | Brain Murder | Программирование | 4 | 13.12.2010 18:42 |
нарисовать полилинию и запустить макрос VBA | gizmo_zx | Программирование | 8 | 24.12.2008 08:47 |
Измнение через ексель (через макрос в VBA) аттрибутов динамического блока | VitaminC | Программирование | 4 | 20.10.2007 14:52 |