|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 29.08.2009
Сообщений: 86
|
Ещё замечено: если выполню команду "^C^C_-vbarun Project.dvb!Other.Quick_calc_select", окно Project'а откроется где-то слева и большим. Закрою это окно. потом опять выполню эту же команду, и оно откроется там, где нужно было и с нужными размерами (т.к. Project.dvb уже висит в памяти и используются нужные настройки, как и написано в справке по ACAD'у).
Вот лог ошибки при выполнении команды "^C^C(if (null _-vbarun Other.Quick_calc_select)(_-vbaload "Project.dvb"));_-vbarun Other.Quick_calc_select;" Код:
|
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Цитата:
2. (null _-vbarun Other.Quick_calc_mat_select) Два значения которые Вы сравниваете вижу, а как Вы их сравниваете нет, вроде бы выражение в скобках должно вернуть истина или нет, а что вернется в Вашем случае не понятно 3. null ... вроде бы nil в лиспе ЗЫ Я Лисп вообще не знаю Последний раз редактировалось Boxa, 28.02.2018 в 09:36. |
|||
|
||||
Регистрация: 29.08.2009
Сообщений: 86
|
Цитата:
Пробелы нужны. Иначе пишет: : no function definition null_-vbarun. Либо : no function definition null_-vbarunOther. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
sergey12, мне кажется, тебе лучше сначала проверять словарь "ACAD_VBA" на предмет загруженности приложения. Если его нет, то загружать и потом уже выполнять.
P.S. Сам VBA под ACAD не пользуюсь, так что реального кода не дам - не смогу его проверить.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 29.08.2009
Сообщений: 86
|
В интернете встретил такой код с загрузкой лиспа при необходимости.
"^C^C(if (null UNF-MText)(load "change text styles (cts) 1.9.LSP"));UNF-MText;" И решил сделать тоже самое на загрузку VBA с макросом, от этого кода отталкивался. ----- добавлено через ~12 мин. ----- Цитата:
: no function definition : -vbarun |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
зачем лезть в автоматизацию, если даже поиском по форуму не хотите пользоваться?
|
|||
|
||||
Регистрация: 29.08.2009
Сообщений: 86
|
Цитата:
А хотелось бы через команды в кнопке с автозагрузкой, как ^C^C(if (null UNF-MText)(load "change text styles (cts) 1.9.LSP"));UNF-MText;. Потому и создал новую тему. Чтоб помогли, что я в синтаксисе напутал. Offtop: Про запуск через Лисп уже подумывал.. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
из-за мифической экономии памяти не хотите держать макрос в автозагрузке, лисп размером в пару сотен байт рядом с проектом vba размером в 1000 раз больше вас тоже не устраивает.. Просто реально, сколько времени потратите - чтобы "красиво" вызывалось с одной кнопки, и без всякой гарантии работы...
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
Почему не подгружается? Оно стартует, просто что-то не успевает полностью инициализироваться к показу окна формы калькулятора:
И поэтому надо добавлять костыли в самом проекте в виде принудительного сохранения и восстановления положения окна, о чем тут написали уже несколько человек. А не играть в игру: кто-кого опередит при загрузке - это очень плохой стиль программирования. |
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
У меня получилось загрузить VBA и команду запустить. Попробовал сделать условие, но долго не мучил. Да и зачем мучить. При повторной загрузке VBA, программа сразу говорит что данное VBA уже загружено и отменяет повторную загрузку, переходя к следующей команде. В итоге все получилось очень даже удобно. Воспользовался следующей командой:
^C^C( command "vbaload" "D:\\vba.dvb");^C^C( command "vbarun" "imya_command"). |
|||
|
||||
Регистрация: 29.08.2009
Сообщений: 86
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кнопка "смещение объектов" не активна, когда выделяю грани детали | RaaV | SolidWorks | 0 | 09.02.2018 11:53 |
Предвыбор слоя для кнопки СПДС путем изменения макроса самой кнопки | dextron3 | Программирование | 3 | 27.09.2017 21:29 |
Линии электрических соединений | Shoorup | Программирование | 23 | 07.02.2015 15:13 |
перестала работать кнопка выполнения макроса | LAmyk | AutoCAD | 6 | 26.09.2014 12:56 |
запуск макроса с панели инструмента в Bricscad | ArtemYa | Программирование | 1 | 22.01.2010 18:43 |