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