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

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

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

MsgBox "Hello, world!"

Если ошибка в этом, подскажите, как правильно оформлять программы на VB.

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

Добавлено: 22 сен 2004, 15:32
edward_K
1. я знаю точно что в slk это не работает - разработчик сам признался.
как вариант можно делать следующее. пишется некий макрос подкладывается в startup Excel.
потом через запуск макроса пользователь его запускает - изврат но зато железно.
2. но все прекрасно работает с использованием xl функций. и вообще как когда то писали на форуме "главное чтобы начальство не прознало, что есть такая возможность строить отчеты", потому как
возможностей по оформлению гораздо больше чем в стандартных отчетах. :)

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

Добавлено: 23 сен 2004, 15:59
dkms
Можете также свои функции оформить как Add-on для Excel, тогда при загрузке любого отчёта (slk или другого формата) функции будут сразу доступны.

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

Добавлено: 24 сен 2004, 04:56
cp_s
Господа, спасибо всем за мудрые советы. Простите начинающего за безграмотность, но "макрос подкладывается в startup Excel" и "Add-on для Excel" - это одно и то же?
И всё такм, зачем в Галактике придумали опцию формы ".BASIC ...". Ведь не просто так же!

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

Добавлено: 24 сен 2004, 11:28
edward_K
зарезервировать - зарезервировали но обработку не сделали - да и все равно slk по сравнению с xls сильно порезан.

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

Добавлено: 27 сен 2004, 11:37
cp_s
Разобрался я с этими функциями: xlRunMacro и xlImportModule. Но остается с этим SLK одна проблема: прямо из тела SLK-формы подключить и запустить макрос не получается, потомучто сформированный SLK-отчёт откроется в Excel только после завершения работы формы!
Объясняю хронологию:
1. работает интерфейс, вызывает форму(SLK) для записи данных;
2. выводит в неё информацию, работают операторы расположенные в форме;
3. форма закрывается, сформированный отчёт открывается в Excel.
Таким образом, нужно запустить макрос "заочно".
Как это сделать, имея в распоряжении только функции xlRunMacro и xlImportModule - задачка не для ламмера. Просто руки опускаются. Есть идеи?

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

Добавлено: 27 сен 2004, 13:08
dkms
Про поддержку плагинов (addin'ов) для MS Office - здесь (http://dyakovkm.tripod.com/dnet/offnet.htm)