Visual Basic в Галактике

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
cp_s
Сообщения: 3
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Far East Khabarovsk
Контактная информация:

Visual Basic в Галактике

Сообщение cp_s »

Необходимо, чтобы при запуске Excel-отчета (при открытии SLK-формы) запускался макрос Visual Basic.
Пробовал вставить макрос в сам исходник формы, но говорят, в формате SLK макросы не сохраняются.
Пробовал запускать его с помощью опции формы: ".basic <имя файла>". Не запускается. Ну точно не запускается - не выводится элементарный MsgBox.
Возможно я программу на VB не умею правильно писать. Т. к. с VB никогда не работал. (Только с QBASIC в 10 классе :-)).
Я просто создал текстовый файл с расширением VBS и написал в нём:

MsgBox "Hello, world!"

Если ошибка в этом, подскажите, как правильно оформлять программы на VB.
Подающий надежды молодой специалист
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Visual Basic в Галактике

Сообщение edward_K »

1. я знаю точно что в slk это не работает - разработчик сам признался.
как вариант можно делать следующее. пишется некий макрос подкладывается в startup Excel.
потом через запуск макроса пользователь его запускает - изврат но зато железно.
2. но все прекрасно работает с использованием xl функций. и вообще как когда то писали на форуме "главное чтобы начальство не прознало, что есть такая возможность строить отчеты", потому как
возможностей по оформлению гораздо больше чем в стандартных отчетах. :)
dkms
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49

Re: Visual Basic в Галактике

Сообщение dkms »

Можете также свои функции оформить как Add-on для Excel, тогда при загрузке любого отчёта (slk или другого формата) функции будут сразу доступны.
cp_s
Сообщения: 3
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Far East Khabarovsk
Контактная информация:

Visual Basic в Галактике

Сообщение cp_s »

Господа, спасибо всем за мудрые советы. Простите начинающего за безграмотность, но "макрос подкладывается в startup Excel" и "Add-on для Excel" - это одно и то же?
И всё такм, зачем в Галактике придумали опцию формы ".BASIC ...". Ведь не просто так же!
Подающий надежды молодой специалист
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Visual Basic в Галактике

Сообщение edward_K »

зарезервировать - зарезервировали но обработку не сделали - да и все равно slk по сравнению с xls сильно порезан.
cp_s
Сообщения: 3
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Far East Khabarovsk
Контактная информация:

Visual Basic в Галактике

Сообщение cp_s »

Разобрался я с этими функциями: xlRunMacro и xlImportModule. Но остается с этим SLK одна проблема: прямо из тела SLK-формы подключить и запустить макрос не получается, потомучто сформированный SLK-отчёт откроется в Excel только после завершения работы формы!
Объясняю хронологию:
1. работает интерфейс, вызывает форму(SLK) для записи данных;
2. выводит в неё информацию, работают операторы расположенные в форме;
3. форма закрывается, сформированный отчёт открывается в Excel.
Таким образом, нужно запустить макрос "заочно".
Как это сделать, имея в распоряжении только функции xlRunMacro и xlImportModule - задачка не для ламмера. Просто руки опускаются. Есть идеи?
Подающий надежды молодой специалист
dkms
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49

Re: Visual Basic в Галактике

Сообщение dkms »

Про поддержку плагинов (addin'ов) для MS Office - здесь (http://dyakovkm.tripod.com/dnet/offnet.htm)
Ответить