Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: 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 вся ветка

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
14-1097077567
Leksiy
2004-10-06 19:46
2004.10.31
Глюк


1-1097604812
DSP
2004-10-12 22:13
2004.10.31
Системное время


1-1097870045
Мирон
2004-10-15 23:54
2004.10.31
TXPManifest уличен во вредительстве


4-1096209647
dt75
2004-09-26 18:40
2004.10.31
Помогите решить проблему работы с COM портом.


1-1098180690
Домовенок
2004-10-19 14:11
2004.10.31
Как сделать независимые формы?