![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Возможно ли запустить в Excel макрос сформированный в Delphi? [D7, Win2k, WinXP]
Strimer © (2004-10-19 20:07:00)Возможно ли запустить в Excel макрос сформированный в Delphi?
Excel.Run('SuperMacros'); - это запуск уже написанного в Excele макроса , а возможно запустить макроса текст, которого пишется в Delphi?
Strimer (2004-10-20 14:59:00) [1]спасибо за советы :-)
Мирон (2004-10-19 23:28:00) [2]jack128 © (19.10.04 23:18) [9]
"Соображения скорости" принимаю. А насчет гибкости... Пожалуй, не стоит начинать холи вор. :-) Пусть автор сам решает, что конкретно ему нужно.
jack128 (2004-10-19 23:18:00) [3]Мирон © (19.10.04 23:11) [8]
смысл писать в Паскале макросы на VBA
в гибкости. Если вдруг одному какому то клиенту понадобится другая функциональность, то те нужно перекомпилировать программу - достаточно изменить скрипт и отослать клиенту(если скрипт храниться в файле например) Или из соображений скорости см [5]
Мирон (2004-10-19 23:11:00) [4]jack128 © (19.10.04 23:07) [7]
Так я о чем и говорю: смысл писать в Паскале макросы на VBA, если проще это делать в самом Excele? Я вообще понял вопрос так: автор хочет для экселя писать макросы на Паскале. Поэтому и предложил [2].
jack128 (2004-10-19 23:07:00) [5]Мирон © (19.10.04 23:02) [6]
представляешь себе его отладку из Delphi?
нет. не представляю ;-). Его в VBA редакторе нужно отлаживать ;-)
Мирон (2004-10-19 23:02:00) [6]jack128 © (19.10.04 22:53) [5]
Почти убедил.Если этот макрос сколь-нибудь велик - представляешь себе его отладку из Delphi? Тут больше подойдет вариант, предложенный автором.
jack128 (2004-10-19 22:53:00) [7]Мирон © (19.10.04 22:43) [4]
дельфи - компилятор/VBA - интерпритатор. Из этого все приемущества и недостатки идут. Но выполнение макроса (если ты обращаешься в методам Excel'a) быстрее, чем использование OLE из длл. К тому же менее подвержено глюкам..
Мирон (2004-10-19 22:43:00) [8]jack128 © (19.10.04 22:14) [3]
Эт проще на Паскале отдельную процедуру сделать, чем ваять в дельфи макросы на VBA.
jack128 (2004-10-19 22:14:00) [9]Strimer © (19.10.04 20:07)
ExcelApp.VBE.SelectedVBComponent.CodeModule.AddFromString(<текст макроса>);
Excel.Run(<имя макроса>);
Мирон (2004-10-19 22:06:00) [10]Strimer © (19.10.04 20:07)
Свою процедуру пишешь в DLL и вызываешь ее из VBA Excel.
что-то типа:
Private Declare Sub MyProcedure Lib "MY_DLL"
sub NewMacros
MyProcedure
end sub
bas (2004-10-19 20:36:00) [11]Если макрос сформировать в дельфине, а потом его добавить в эхель, а потом выполнить - то да точно. Сам пробовал. Если как-то по другому, то не знаю...