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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP. Одно приложение для запуска всех VBA программ.

LISP. Одно приложение для запуска всех VBA программ.

Ответ
Поиск в этой теме
Непрочитано 28.05.2014, 13:30 #1
LISP. Одно приложение для запуска всех VBA программ.
art_rrc
 
Минск
Регистрация: 28.01.2013
Сообщений: 378

Доброго времени суток. В своей работе для автоматизации я использую VBA, и для более удобного запуска и использования программ применяю примерно вот такие LISP- приложения.
1 файл:
Код:
[Выделить все]
 (defun c:mm1 ()
  (command "-vbarun" "MyMacro1")
  (princ)
)
2 файл:
Код:
[Выделить все]
 (defun c:ьь1 ()
  (command "-vbarun" "MyMacro1")
  (princ)
)
и т.д.

Проблема в том, что под каждую из таких программ приходится создавать, хранить отдельный Lisp-файл и добавлять его в автозагрузку. И их уже несколько десятков, что естественно не очень то удобно. Кто зазбирается в LISP-е, помогите пожалуйста с синтаксисом, как (и можно ли впринципе) это делать с помощью 1-го файла, со временем просто добавляя новые строки, а не таскать за собой целый вагон файликов.
Заранее спасибо!
Просмотров: 1513
 
Непрочитано 28.05.2014, 13:37
#2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Просто в одном lisp файле записывайте все эти функции, не надо создавать новые файлы.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 28.05.2014, 13:56
#3
Кулик Алексей aka kpblc
Moderator

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


Код:
[Выделить все]
 (foreach item '("MyMacro1" "MyMacro2") (command "_.-vbarun" item))
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.05.2014, 15:12
#4
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Алексей, как я понимаю, так будут все макросы сразу на выполнение запускаться. Тут же смысл в том, что надо лиспом зарегистрировать команды "mm1", "ьь1"... и т.д, которые при вызове будут запускать нужный макрос.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 28.05.2014, 15:13
#5
Кулик Алексей aka kpblc
Moderator

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


А, ну да... Мой косяк, не спорю
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.05.2014, 15:15
#6
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Мне вот интересно стало - неужели в VBA нет возможности собственными средствами команды регистрировать?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 28.05.2014, 15:47
#7
Кулик Алексей aka kpblc
Moderator

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


Насколько я помню, нет.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.05.2014, 16:10
#8
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,843


Цитата:
Сообщение от Do$ Посмотреть сообщение
Тут же смысл в том, что надо лиспом зарегистрировать команды "mm1", "ьь1"... и т.д
Я думаю Крыс хотел изобразить что-то вроде
Код:
[Выделить все]
 (foreach item '("MyMacro1" "MyMacro2") (set (read item) (lambda() (command "_.-vbarun" item))))
но задумался и ...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 28.05.2014, 20:39
#9
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Код:
[Выделить все]
 (mapcar
	'(lambda (cmdname)
	   (set (read cmdname) (lambda () (command "_.-vbarun" cmdname)))
	   (vlax-add-cmd cmdname (read cmdname))
	 )
	
	'("MyMacro1" "MyMacro2")
)
gomer вне форума  
 
Непрочитано 28.05.2014, 21:56
#10
Boxa

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


А может не нужны функции и команды?
Может можно в pgp файле прописывать Алиасы на обычные макросы запуска программ?
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 28.05.2014, 22:01
#11
Кулик Алексей aka kpblc
Moderator

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


Насколько я помню, алиасы работают только на команды AutoCAD'a, прописать туда лисп / vba не получится
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.05.2014, 22:54
#12
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,843


то гомер - точно то ж команды...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 28.05.2014, 22:55
#13
trir


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


А я на кнопочки это вешал...
trir вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP. Одно приложение для запуска всех VBA программ.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 106 25.10.2015 19:00
Lisp. Как вставить описания всех блоков библиотеки блоков? Kirill_Ja LISP 5 11.04.2013 10:22
LISP. Как увеличить уменьшить масштаб типов линий всех объектов на заданную величину. Zhnek LISP 4 26.07.2012 12:37
Как с помощью lisp получить список всех состояний видимости динамического блока crosandr LISP 4 11.04.2012 22:33
LISP: как создать набор примитивов из всех открытых рисунков? nikе LISP 6 29.07.2011 23:04