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

Макрос в Excel   Найти похожие ветки 

← →
Forrest1   (2002-02-08 14:55) [0]

Подскажите, плиз! Как передать параметры из delphi в Макрос на VBA. Пишу следующее:

var
wrkBook,Ex :variant;
begin
Ex:=CreateOleObject("Excel.Application");
Ex.Application.EnableEvents:=False;
wrkBook:=Ex.WorkBooks.Add("E:\Reports\Trauma.xls");
ex.Run("Trauma.Trauma("+IntToStr(PO.PostId)+","+IntToStr(PO.SbEntId)+")");
Но это не правильно, т.к. в VBA должна быть главная процедура без параметров насколько я понимаю, а уже из неё должна вызываться процедура с параметрами.
Как быть??? Спасибо большое заранее.

P.S. Раньше я задавал похожий вопрос, но полный ответ так и не получил. Всем спасибо кто участвовал тогда в обсуждении.


← →
serg ©   (2002-02-08 15:25) [1]

отведи для этого несколько ячеек и в них сперва записывай значения, а затем запускай макрос. он возьмет эти значения.

вообще, а ты в Excel можешь запустить напрямую макрос с параметрами? думаю, что нет...


← →
Forrest1   (2002-02-12 09:18) [2]

Большое спасибо. Я об этом не подумал.
Макрос с параметрами я не могу запустить естественно.
Он должен вызываться из макроса без параметров. Здесь вопросов нет.
жаль что нельзя без параметров. Хотелось красиво.


← →
aus ©   (2002-02-12 10:44) [3]

Вот так должно работать, по крайней мере с целыми числами в параметрах:

ex.Run("Trauma.Trauma",PO.PostId,PO.SbEntId)


← →
Forrest1   (2002-02-12 14:59) [4]

to Aus:
Спасибо!! Но есть одно маленькое "но".
Дело в том, что когда я пишу макрос на VBA и передаю ему какие-то параметры, то в Excel(Сервис->Макрос) его нет, мало того он естесственно на строку
ex.Run("Trauma.Trauma",PO.PostId,PO.SbEntId)
Выдаёт сообщение, что такого макроса в помине нет.
Как быть?



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.006 c
3-90455
}{unter
2002-02-01 11:45
2002.02.28
Есть проблема с ADOCommand


3-90503
Demon ltd
2002-02-04 20:56
2002.02.28
Из db в dbf


1-90622
irz
2002-02-13 06:12
2002.02.28
TreeView


14-90653
Kain
2002-01-15 06:51
2002.02.28
Динамический обмен


3-90470
dimonf
2002-02-01 13:19
2002.02.28
Ошибка: Acsess violation adress ... ? Как это понять?




   Наверх