Страница 1 из 2

Макросы VB в slk-отчетах

Добавлено: 03 дек 2002, 12:30
Bypasser
Дарова всем! Если не сложно, подскажите пож.
как вставить VB-макрос в ARD-шник, сляпанный
в SYLK формате.
Например, пробовал делать так:
.Form zzz
.Ard
.BASIC 'bypasser.bas'
.Create view table1 as select * from katmc;
...
...
...
endform.

..собирал строчным компилятором. После отработки отчета в Галактике макрос не запускается. ...хотя вроде бы должен, насколько я понимаю.
Може чего не так делаю?

Re: Макросы VB в slk-отчетах

Добавлено: 09 дек 2002, 14:32
Bypasser
...таки пришлось проблему решить самому.
Нарыл в Галактике стандартные функции работающие с Excel.
(У кого есть исходники, см. файл pas\excel\excel.doc)

Например, вот это точно работает:
Interface test_slk ('Проверка функций работы с Excel');
Create view
var count_str:longint;
as select katsopr.nsopr,katsopr.dsopr,katsopr.name,katsopr.summa
where
katsopr.vidsopr=word(201)
and katsopr.dsopr=date(05,12,2002);
!Form dw_test('dw_test.out');
HandleEvent
cmInit:
{
If not xlCreateExcel ('c:\gal582\testbase\out\admin2\test_slk.xls',true) then message('xlCreateExcel=false');
If not xlIsExcelValid then message ('xlIsExcelValid=false');
count_str:=1;
If getfirst katsopr=tsOK then do
{
If not xlSetCellSTringValue(string(katsopr.nsopr),count_str,1,count_str,1) then message('xlSetCellStringValue=false');
xlSetCellSTringValue(string(katsopr.dsopr),count_str,2,count_Str,2);
xlSetCellSTringValue(string(katsopr.name),count_str,3,count_str,3);
xlSetCellSTringValue(string(katsopr.summa),count_str,4,count_str,4);
count_str:=count_str+1;
}while getnext katsopr=tsOK;
If not xlImportModule('c:\gal582\testbase\out\admin2\sr_price.bas') then message('xlImportModule=false');
If not xlRunMacro('dwarf') then message('xlRunMacro=false');
If not xlKillExcel then message ('xlKillExcel=false');
CloseInterface(cmOK);
}
end;
end.

Re: Макросы VB в slk-отчетах

Добавлено: 10 дек 2002, 13:45
ALEKS123
Bypasser, не мог бы выслать эту доку? Пытался написать тебе по мылу, но твой ящик отключен

Re: Макросы VB в slk-отчетах

Добавлено: 10 дек 2002, 15:37
Bypasser
Отправил.
Правда с этими функциями есть одна проблема: пока формируется XLS-отчет, на экран не выводится никаких индикаторов процесса (точнее говоря, он выводится, если переключиться в Галактику по ALT+Tab). То есть пользователь не видит того, что процесс продолжается успешно и может подумать, что комп завис...

Re: Макросы VB в slk-отчетах

Добавлено: 10 дек 2002, 15:40
m0p3e
И мне можно?
m0p3e@hotbox.ru

Re: Макросы VB в slk-отчетах

Добавлено: 10 дек 2002, 18:30
ALEKS123
Спасибо, получил...

Re: Макросы VB в slk-отчетах

Добавлено: 11 дек 2002, 16:49
Bypasser
> И мне можно?
> m0p3e@hotbox.ru

...Ok.

Re: Макросы VB в slk-отчетах

Добавлено: 11 дек 2002, 18:04
m0p3e
Интересная вещица... Главное что б начальники не прознали... ;)

Re: Макросы VB в slk-отчетах

Добавлено: 11 дек 2002, 20:54
Slava
Я тоже хочу. galaktika@pisem.net

Re: Макросы VB в slk-отчетах

Добавлено: 15 дек 2002, 15:37
Alla
Сбросьте и мне, пожааааалуйста.
Alla@tobes.te.ru

Re: Макросы VB в slk-отчетах

Добавлено: 16 дек 2002, 13:24
hope
И мне , пожалуйста! hope@sitno.mgn.ru

Re: Макросы VB в slk-отчетах

Добавлено: 16 дек 2002, 15:44
Maverick
Плз мне тоже если можно на maverick@tpg.ru
Заранее благодарен

Re: Макросы VB в slk-отчетах

Добавлено: 16 дек 2002, 17:47
Kareno
И мне тоже плз.
kareno@mail.ru

Re: Макросы VB в slk-отчетах

Добавлено: 17 дек 2002, 14:08
Alla
Спасибо!

Re: Макросы VB в slk-отчетах

Добавлено: 19 дек 2002, 13:14
Alexx
И мне, пожалуйста: mav@stn.tomsk.ru
Заранее, спасибо!