dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

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

Кнопка на запуск макроса с вызовом .dvb

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 26.02.2018, 15:33 #1
Кнопка на запуск макроса с вызовом .dvb
sergey12
 
Регистрация: 29.08.2009
Сообщений: 81

sergey12 вне форума Вставить имя

Нашел как на кнопку повесит команду на запуск команды из лиспа, если лисп не загружен. Например, "^C^C(if (null UNF-MText)(load "change text styles (cts) 1.9.LSP"));UNF-MText;"

А какую команду надо записать на кнопку, чтоб запустить макрос из проекта, чтоб сперва запустился проект, а потом макрос обратился к этому проекту.
Например, пишу: "^C^C(if (null _-vbarun Other.Quick_calc_select)(_-vbaload "Project.dvb"));_-vbarun Other.Quick_calc_select;". Пишет ошибка: слишком много аргументов.

Команду "^C^C_-vbarun Project.dvb!Other.Quick_calc_select" не предлагать. При запуске данной команды, диалоговое окно макроса висит где-то сбоку и большое не настроенное по габаритам, видимо, с размерами по умолчанию. Если же я сперва загружу файл "Project.dvb" через "загрузка/выгрузка приложений", и потом выполню "_-vbarun Project.dvb!Other.Quick_calc_select", то диалоговое окно нормально открывается (с нужными размерами и в нужном месте).
Просмотров: 4685
 
Непрочитано 26.02.2018, 16:09
#2
Сергей812


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


автозагрузка проекта VBA?
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.02.2018, 15:18
#3
sergey12


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
автозагрузка проекта VBA?
Вроде проект VBA. Этот .dvb взял на просторах интернета.
sergey12 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 15:41
#4
Сергей812


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


имел в виду, что запихнуть проект vba в автозагрузку акада) Правда, при этом могут быть побочные эффекты в виде снижения производительности.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.02.2018, 15:48
#5
sergey12


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
имел в виду, что запихнуть проект vba в автозагрузку акада) Правда, при этом могут быть побочные эффекты в виде снижения производительности.
Изначально так и делал. Проект VBA был в автозагрузке Аcad, в нем пара специфических калькуляторов. Чтоб не грузить память, решил загружать этот проект через кнопку, и тут появилась загвоздка..
sergey12 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 15:59
#6
Boxa

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


Как я понял, Вам не нравиться что настойки окна не сохраняются между сеансами автокада, однако я не понимаю, что Вам запрещает сохранять и загружать эти настройки... не понял я в чем проблема... код для кнопки вы и так привели... Странный топик.

Offtop: Практически всегда, при использовании VBA появляются проблемы и два возможных решения:
1. Смириться
2. Не использовать VBA
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 16:12
#7
Сергей812


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


кстати, интересный вопрос - сколько выжирает среда исполнения VBA при загрузке проекта VBA - сомневаюсь, что экономия на памяти настолько существенна.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.02.2018, 20:35
#8
sergey12


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


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

Offtop: Практически всегда, при использовании VBA появляются проблемы и два возможных решения:
1. Смириться
2. Не использовать VBA
Да, не нравится, что окно непонятно где выскакивает.
Поясню проблему. Offtop: Извините за мой немецкий, мож не совсем точно выразился ранее.

Ситуация #1.
В автозагрузке приложений Autocad'а стоит программа Project.dvb. Запускаю AutoCAD. Через кнопку запускаю макрос "^C^C_-vbarun Other.Quick_calc_select". Запускается спец_калькулятор в нужном месте с нужными настройками.

Ситуация #2.
Из автозагрузки приложений Autocad'а убрал программу Project.dvb. Через кнопку запускаю макрос "^C^C_-vbarun Project.dvb!Other.Quick_calc_select". Окно открывается сбоку и больших габаритов.

Поэтому подскажите команду на кнопку, чтоб проект VBA сперва загрузился, потом только сработал макрос.
Ибо команда "^C^C(if (null _-vbarun Other.Quick_calc_select)(_-vbaload "Project.dvb"));_-vbarun Other.Quick_calc_select;", пишет ошибку: слишком много аргументов. И далее пишет: "vbarun Other.Quick_calc_select" - не найден макрос.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
кстати, интересный вопрос - сколько выжирает среда исполнения VBA при загрузке проекта VBA - сомневаюсь, что экономия на памяти настолько существенна.
По сравнению с ACAD'ом, конечно, малó. Но как-то некошерно загружать то, что щас не используется.
sergey12 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 20:56
#9
Сергей812


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


Цитата:
Сообщение от sergey12 Посмотреть сообщение
Но как-то некошерно загружать то, что щас не используется.
ну уж что-нибудь одно - либо интерфейс, либо эстетика)

Цитата:
Сообщение от sergey12 Посмотреть сообщение
Ибо команда "^C^C(if (null _-vbarun Other.Quick_calc_select)(_-vbaload "Project.dvb"));_-vbarun Other.Quick_calc_select;", пишет ошибку: слишком много аргументов. И далее пишет: "vbarun Other.Quick_calc_select" - не найден макрос.
а если запускать через посредника-лиспа?
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.02.2018, 21:01
#10
sergey12


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение


а если запускать через посредника-лиспа?
В лиспе я профан. Не подскажите код?
sergey12 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 21:06
#11
Кулик Алексей aka kpblc
Moderator

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


Я бы поменял код, и сохранял в реестре положение и размеры окна. А при вызове диалога восстанавливал бы.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 21:12
#12
Сергей812


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


я не лисповец) в Net Api таких проблем нет обычно)

если разбираетесь в VBA, попробуйте сохранять координаты окна: left, top, width & height во внешнем текстовом файле, и потом при старте считывать оттуда значения и задавать размеры и положение окна. О чем, собственно, выше и писал Boxa:
Цитата:
Сообщение от Boxa Посмотреть сообщение
однако я не понимаю, что Вам запрещает сохранять и загружать эти настройки...
----- добавлено через ~2 мин. -----
ну или в реестре, как предлагает Алексей - что будет проще для вас в реализации.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 21:22
#13
Boxa

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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я бы поменял код, и сохранял в реестре положение и размеры окна. А при вызове диалога восстанавливал бы.
Собственно я это и предлагал, но видимо автору это не подходит.
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.02.2018, 22:04
#14
sergey12


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я бы поменял код, и сохранял в реестре положение и размеры окна. А при вызове диалога восстанавливал бы.
DVB-файл не мой. Взят с просторов интернета. Код VBA не поменять.
sergey12 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 22:09
#15
Сергей812


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


Цитата:
Сообщение от sergey12 Посмотреть сообщение
Код VBA не поменять.
запоролен?
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 22:11
#16
Boxa

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


Цитата:
Сообщение от sergey12 Посмотреть сообщение
Код VBA не поменять.
Почему? Вы не пишите на VBA?
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.02.2018, 22:15
#17
sergey12


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Почему? Вы не пишите на VBA?
Не пишу на VBA (.

Только на уровне школы%).


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
запоролен?
Да.
sergey12 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 22:17
#18
Сергей812


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


Цитата:
Сообщение от sergey12 Посмотреть сообщение
Да.
тогда сделайте, как раньше работало и не трогайте)
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 22:21
| 1 #19
Boxa

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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
запоролен?
когда это останавливало =о)))

Как обычно... Кончилось рекомендацией смириться =о)))))))
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.02.2018, 22:42
| 1 #20
Сергей812


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Как обычно... Кончилось рекомендацией смириться =о)))))))
c VBA в акаде можно только смириться)
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Кнопка на запуск макроса с вызовом .dvb

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кнопка "смещение объектов" не активна, когда выделяю грани детали 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

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||