Главная страница
    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.46 MB
Время: 0.035 c
14-1097551845
pkm
2004-10-12 07:30
2004.10.31
Виртуальный диск.


4-1095942312
Staszek
2004-09-23 16:25
2004.10.31
Полупрозрачные окна


3-1096917724
GanibalLector
2004-10-04 23:22
2004.10.31
тяжелое условие в ХП


1-1097666698
denis24
2004-10-13 15:24
2004.10.31
закраска вкладок TabSheet


14-1097652274
Обыватель
2004-10-13 11:24
2004.10.31
стоит ли покупать Win принтер?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский