Вниз
Скачать: CL | DM;

Возможно ли запустить в 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
1-1097953011
ssmaxx
2004-10-16 22:56
2004.10.31
Написание математической функции


1-1098085265
denis24
2004-10-18 11:41
2004.10.31
редактирование или добавление нового


8-1088751372
Глеб
2004-07-02 10:56
2004.10.31
Как вставить Flash-мульт в проект Delphi?


4-1096116790
Nils
2004-09-25 16:53
2004.10.31
Нужен пример работы с TMemIni?


14-1097271932
Knight
2004-10-09 01:45
2004.10.31
У кого есть описание или help по FastLib?




   Наверх