| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Повторение макроса на VBA

Повторение макроса на VBA

Ответ
Поиск в этой теме
Непрочитано 06.11.2018, 11:42 #1
Повторение макроса на VBA
Moker
 
Регистрация: 19.03.2010
Сообщений: 24

Добрый день!

У меня есть макрос на VBA в AutoCAD, который требуется запускать очень много раз.

Я вывел кнопку VBARUN и через нее, нажав "Выполнить" работаю... Нажав Enter - вызываю повторно окно с Макросом, далее опять выполнить и т.д. По умолчанию в этом окне курсор наведен на кнопку "Закрыть", видимо, чтобы случайно никто ничего не запустил...

Вопрос. Как сделать, чтобы по умолчанию кнопка была активная "Выполнить", чтобы после нажатия Enter - заработал макрос? (я не хочу тратить время на нажатие мышкой кнопки выполнить)

Или можно как-то запускать конкретный макрос без этого окна?

Спасибо.
Просмотров: 3810
 
Непрочитано 06.11.2018, 11:57
2 | #2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Попробуй вместо _.vbarun использовать _.-vbarun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.11.2018, 12:03
1 | #3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Что то поиском в последнее время никто пользоваться не хочет...
http://forum.dwg.ru/showthread.php?t=145585
Boxa вне форума  
 
Непрочитано 06.11.2018, 12:07
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


переписать макрос
trir вне форума  
 
Автор темы   Непрочитано 06.11.2018, 12:14
#5
Moker


 
Регистрация: 19.03.2010
Сообщений: 24


Спасибо!

Сделал как рекомендовал Boxa. Использовал ^C^C(vl-vbaload (findfile "Project.dvb"));-vbarun Other.Quick_calc_mat_select в отдельной новой кнопке.

При повторном вызове через Enter просит имя макроса. А хотелось бы чтобы он его просто повторил

----- добавлено через 58 сек. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Попробуй вместо _.vbarun использовать _.-vbarun
Просит имя макроса, вводить каждый раз не удобно, проще мышкой ткнуть.
Moker вне форума  
 
Непрочитано 06.11.2018, 12:22
#6
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


закинуть файл макроса в автозагрузку и на кнопку или пункт меню повесить ^C^C-vbarun [имя макроса]
уже предлагали?
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 06.11.2018, 12:24
#7
Moker


 
Регистрация: 19.03.2010
Сообщений: 24


Цитата:
Сообщение от trir Посмотреть сообщение
переписать макрос
Серия выполнения макроса бывает разная, иногда 2 раза подряд,а иногда 10, между ними другие операции... Конечно наверно можно всё засунуть в цикл и всё прогнать сначала...

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от doctorraz Посмотреть сообщение
закинуть файл макроса в автозагрузку и на кнопку или пункт меню повесить ^C^C-vbarun [имя макроса]
уже предлагали?
Вешал. При повторном вызове через Enter опять просит имя макроса.
Moker вне форума  
 
Непрочитано 06.11.2018, 12:33
| 2 #8
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Moker Посмотреть сообщение
При повторном вызове через Enter просит имя макроса. А хотелось бы чтобы он его просто повторил
Цитата:
Сообщение от Moker Посмотреть сообщение
Вешал. При повторном вызове через Enter опять просит имя макроса.
Вы вроде бы предыдущее мое сообщение прочитали... и почему то проигнорировали слова про поиск... очень странно.
Однако, если бы Вы воспользовались советом, то нашли бы тему на форуме и не одну, в которых вызов макроса оборачивают в лисп команду, которая отлично вызывается при повторном вызове через Enter.
Нда...

http://forum.dwg.ru/showthread.php?t=134828

Последний раз редактировалось Boxa, 06.11.2018 в 12:38.
Boxa вне форума  
 
Непрочитано 06.11.2018, 12:38
1 | #9
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


тогда так
Код:
[Выделить все]
(defun C:йй ()
(command "-vbarun"  "[имя макроса]")
    (princ)
)
лисп в автозагрузку
первый раз вызываем макрос по "йй", повторно по энтер или пробелу..
или если лом с клавиатуры набирать, делаем кнопку или пункт меню с командой ^C^Cйй и радуемся жизни
__________________
Мастерская СПДС
doctorraz вне форума  
 
Автор темы   Непрочитано 06.11.2018, 12:41
#10
Moker


 
Регистрация: 19.03.2010
Сообщений: 24


Цитата:
Сообщение от Boxa Посмотреть сообщение
Вы вроде бы предыдущее мое сообщение прочитали... и почему то проигнорировали слова про поиск... очень странно.
Однако, если бы Вы воспользовались советом, то нашли бы тему на форуме и не одну, в которых вызов макроса оборачивают в лисп команду, которая отлично вызывается при повторном вызове через Enter.
Нда...
Знаете, я согласен с замечанием, я раздолбай, должным образом не воспользовался поиском. Но обращаясь на уважаемый форум, думал, что подскажут решение, даже если оно где-то было, а не будут тыкать носом в поиск. К сожалению, мне надо обработать тысячи 3 измерений с помощью макроса и любое промедление сейчас грозит не выполнением работы в срок. С лиспом, к сожалению, плохо знаком. Но попытаюсь разобраться.

----- добавлено через 46 сек. -----
Цитата:
Сообщение от doctorraz Посмотреть сообщение
тогда так
Код:
[Выделить все]
(defun C:йй ()
(command "-vbarun"  "[имя макроса]")
    (princ)
)
лисп в автозагрузку
первый раз вызываем макрос по "йй", повторно по энтер или пробелу..
или если лом с клавиатуры набирать, делаем кнопку или пункт меню с командой ^C^Cйй и радуемся жизни
Спасибо!!!
Moker вне форума  
 
Непрочитано 06.11.2018, 12:44
1 | #11
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Moker Посмотреть сообщение
Но попытаюсь разобраться.
придется
Цитата:
Сообщение от Boxa Посмотреть сообщение
вызов макроса оборачивают в лисп команду
быстрее найти поиском, как это прописать в кнопку, чем разбираться с нуля как применить код на лиспе... и то и это один фих искать
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 06.11.2018, 12:50
1 | #12
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Если у Вас так много однотипной работы, то совет trir более чем уместен и к нему стоит прислушаться (я бы еще и язык поменял на что нибудь более вменяемое, но это уже вкусовщина).

Offtop: З.Ы.
Меня забавляет наблюдать за эгоцентричными людьми, спасибо Вам за приятные минуты.
Boxa вне форума  
 
Автор темы   Непрочитано 06.11.2018, 13:12
#13
Moker


 
Регистрация: 19.03.2010
Сообщений: 24


Цитата:
Сообщение от doctorraz Посмотреть сообщение
придется

быстрее найти поиском, как это прописать в кнопку, чем разбираться с нуля как применить код на лиспе... и то и это один фих искать
Тут уже дело техники, нашел в гугле страницу где рассказывают куда макросы вставлять... Создал файл с расширением lsp, кинул в него ваш код, вставил название макроса. Сделал кнопку по примеру и всё работает. Повтор Enter дает нужный результат. Спасибо!
Moker вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Повторение макроса на VBA

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фатальная ошибка при попытке загрузки макроса Inhu Программирование 23 02.10.2017 12:13
Как определить путь к файлу макроса и как открыть шаблон в VBA Rembo_4 Программирование 2 18.01.2012 15:57
Открывание и закрывание панелей иснтрументов с помощью макроса dextron3 Программирование 4 03.01.2008 15:46
Странная работа макроса Димас Программирование 23 19.10.2006 12:30