Макросы VB в slk-отчетах
Модераторы: m0p3e, edward_K, Модераторы
Макросы VB в slk-отчетах
Дарова всем! Если не сложно, подскажите пож.
как вставить VB-макрос в ARD-шник, сляпанный
в SYLK формате.
Например, пробовал делать так:
.Form zzz
.Ard
.BASIC 'bypasser.bas'
.Create view table1 as select * from katmc;
...
...
...
endform.
..собирал строчным компилятором. После отработки отчета в Галактике макрос не запускается. ...хотя вроде бы должен, насколько я понимаю.
Може чего не так делаю?
как вставить VB-макрос в ARD-шник, сляпанный
в SYLK формате.
Например, пробовал делать так:
.Form zzz
.Ard
.BASIC 'bypasser.bas'
.Create view table1 as select * from katmc;
...
...
...
endform.
..собирал строчным компилятором. После отработки отчета в Галактике макрос не запускается. ...хотя вроде бы должен, насколько я понимаю.
Може чего не так делаю?
Re: Макросы VB в slk-отчетах
...таки пришлось проблему решить самому.
Нарыл в Галактике стандартные функции работающие с 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.
Нарыл в Галактике стандартные функции работающие с 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.
-
- Местный житель
- Сообщения: 278
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: Макросы VB в slk-отчетах
Bypasser, не мог бы выслать эту доку? Пытался написать тебе по мылу, но твой ящик отключен
Re: Макросы VB в slk-отчетах
Отправил.
Правда с этими функциями есть одна проблема: пока формируется XLS-отчет, на экран не выводится никаких индикаторов процесса (точнее говоря, он выводится, если переключиться в Галактику по ALT+Tab). То есть пользователь не видит того, что процесс продолжается успешно и может подумать, что комп завис...
Правда с этими функциями есть одна проблема: пока формируется XLS-отчет, на экран не выводится никаких индикаторов процесса (точнее говоря, он выводится, если переключиться в Галактику по ALT+Tab). То есть пользователь не видит того, что процесс продолжается успешно и может подумать, что комп завис...
Re: Макросы VB в slk-отчетах
И мне можно?
m0p3e@hotbox.ru
m0p3e@hotbox.ru
-
- Местный житель
- Сообщения: 278
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: Макросы VB в slk-отчетах
Спасибо, получил...
Re: Макросы VB в slk-отчетах
Интересная вещица... Главное что б начальники не прознали...
Re: Макросы VB в slk-отчетах
Я тоже хочу. galaktika@pisem.net
Re: Макросы VB в slk-отчетах
Сбросьте и мне, пожааааалуйста.
Alla@tobes.te.ru
Alla@tobes.te.ru
Re: Макросы VB в slk-отчетах
И мне , пожалуйста! hope@sitno.mgn.ru
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: Макросы VB в slk-отчетах
Плз мне тоже если можно на maverick@tpg.ru
Заранее благодарен
Заранее благодарен
Re: Макросы VB в slk-отчетах
И мне тоже плз.
kareno@mail.ru
kareno@mail.ru
Re: Макросы VB в slk-отчетах
Спасибо!
Re: Макросы VB в slk-отчетах
И мне, пожалуйста: mav@stn.tomsk.ru
Заранее, спасибо!
Заранее, спасибо!