|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
13.03.2006, 06:42 | #1 | |
Как запустить макрос без снятия выделения с объектов?
СЦБ
Иркутск
Регистрация: 09.03.2006
Сообщений: 79
|
||
Просмотров: 7444
|
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826
|
Можно не ставить ^C^C в начало макроса и тогда ничего отменяться не будет.
Можно все-таки снять выделение, но в макросе исползовать опцию _p (Previous), тогда команды будут работать с последним выделением на чертеже. |
|||
|
||||
СЦБ Регистрация: 09.03.2006
Иркутск
Сообщений: 79
|
чего то я не понимаю
есть у меня макрос на VBA с формой, а на панельке кнопка с запуском макроса: _-vbarun "podp.dvb!ThisDrawing.ааа" нажимаю на кнопку, появляется форма и все выделение снимается. А если этот же макрос запускать из под редактора VBA, нажимаю на кнопочку RUN, то появляется форма и выделение не снимается. ^C^C я убрал не помогло Цитата:
|
|||
|
||||
СЦБ Регистрация: 09.03.2006
Иркутск
Сообщений: 79
|
Krieger, макрос добавляет ко всему выделенному тексту цифры по порядку выглядит это примерно так, и нужно чтоб текст оставался выделенным, чтобы все это работало:
Private Sub CommandButton1_Click() Dim pfSS As AcadSelectionSet Dim object As AcadEntity Dim tip As String Dim i As Integer Dim step As Integer Dim p As Variant i = Val(Me.txtI) step = Val(Me.txtS) Set pfSS = ThisDrawing.PickfirstSelectionSet For Each object In pfSS tip = object.ObjectName If tip = "AcDbText" Then If Me.obK.Value = True Then object.TextString = object.TextString & "-" & i Else object.TextString = i & object.TextString End If object.Update i = i + step End If Next object End Sub |
|||
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Цитата:
(vla-runmacro (vlax-get-acad-object) "ThisDrawing.MACRONAME") У меня работает. |
|||
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Перечитал все посты.. Так ты неправильно вопрос поставил:
Цитата:
Если так, то вот здесь найдешь: http://www.autocad.ru/cgi-bin/f1/board.cgi?t=22820VI |
|||
|
||||
СЦБ Регистрация: 09.03.2006
Иркутск
Сообщений: 79
|
B2Slow, спасибо за
vla-runmacro (vlax-get-acad-object) "ThisDrawing.MACRONAME" думаю это то что нужно, однако это по-моему для LISP`а а вот для VBA это не работает Цитата:
|
|||
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Цитата:
Цитата:
Код:
В общем, если в макросе пользуешься ActiveSelectionSet, вешай на кнопку (vla-runmacro (vlax-get-acad-object) "ThisDrawing.MACRONAME") Если используешь PickFirstSelectionSet, то на кнопку ничего кроме -vbarun "ThisDrawing.MACRONAME" вешать уже не надо. Первый вариант более универсален, т.к. позволяет выделять объекты как до запуска макроса, так и после. |
|||
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Цитата:
А тебе оно, собственно, для чего. Во время выполнения макроса от него ни холодно, ни жарко по-моему.. |
|||
|
||||
СЦБ Регистрация: 09.03.2006
Иркутск
Сообщений: 79
|
Цитата:
|
|||
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Цитата:
|
|||