|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
22.09.2016, 08:46 | #1 | |
Способы назначения VBA макроса на кнопку
Л, ТХ
Ухта
Регистрация: 01.06.2016
Сообщений: 38
|
||
Просмотров: 3846
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Offtop: Не пользуемся VBA
Создай отдельный lsp, в котором пропиши вызов своих процедур, обеспечь его автозагрузку - и все.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Л, ТХ Регистрация: 01.06.2016
Ухта
Сообщений: 38
|
У меня на данный момент так и сделано. Проблема в том что когда этих функций много (больше 60 на данный момент) тяжело синхронизировать их название/наличие одновременно в файле с макросами VBA и в файле lsp.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Выкрутиться можно, было бы желание.
Вариант 1: создать сторонний текстовый файл, в котором соотнести имя команды, полный путь до DVB, имя процедуры. Лиспом или VBA-шной же процедурой, выполняемой при загрузке, выполнять его чтение и назначать соответствующие команды. Вариант 2: плюнуть на VBA и перейти на .NET ----- добавлено через 19 сек. ----- Наверняка есть вариант 3, 4, 163...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,053
|
дополнение: экспортировать код из редактора VBA (заодно и резервная копия будет), а потом пропарсить полученный текстовой файл, получая "сторонний текстовый файл, в котором соотнести имя команды, полный путь до DVB, имя процедуры".
|
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
удалил
ЗЫ. или сразу перейти на .NET и не мучатся =о) |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,053
|
ну если по нормальному - то да (хотя VBA тоже пользуюсь для простеньких программ, размещаемых в Excel файлах). Но если у людей уже более 60 макросов в VBA сделано, то найти код на NETAPI/переписать с отладкой займет достаточно времени - да и вполне вероятно, что автор макросов уже и не работает в фирме)
А чего сложно в парсинге? Стандартной командой в редакторе VBA экспортируешь файл из VBA проекта в текстовой файл *.bas, а потом построчно читаешь, ища сигнатуру начала команды. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Цитата:
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,053
|
Тогда, наверно, проще так. Тут нашел в инете, что можно в VBA проекте создать метод Public Sub AcadStartup(), который будет автоматически запускаться при загрузке проекта в акад. А в этом методе прописать формирование lsp с регистрацией команд.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно повесить лисп программу на кнопку | Нитонисе | LISP | 32 | 16.06.2021 13:18 |
Машинное помещение лифтов и помещение общественного назначения | АВВ | Архитектура | 48 | 14.03.2016 15:30 |
Каким документом пользоваться при проектировании: Административные и бытовые здания или Общественные здания административного назначения | vlasctelin | Архитектура | 7 | 15.10.2014 13:12 |
Как перемещение колёсиком на мышке перенести на клавиатуру на кнопку?? | Mixon2010 | AutoCAD | 43 | 25.06.2013 22:26 |
Открывание и закрывание панелей иснтрументов с помощью макроса | dextron3 | Программирование | 4 | 03.01.2008 15:46 |