Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.47 MB
Время: 0.033 c
11-1082192171
GuAV
2004-04-17 12:56
2004.10.31
В VCL было OnEnter, а в KOL как?


4-1095680247
ipnet
2004-09-20 15:37
2004.10.31
Как сменить курсор для отдельно взятого static


1-1097693061
Colonel
2004-10-13 22:44
2004.10.31
StayOnTop


14-1097049783
Holy
2004-10-06 12:03
2004.10.31
Белгородская сходка...


4-1096129821
sh@de
2004-09-25 20:30
2004.10.31
Поцесс с системной учюзаписью





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский