0
Отвечен
Запуск макроса в книге Excel из скрипта
Здравствуйте.
Добавил в шаблон свода по НУ макрос, меняющий поставочную форму на нужную клиенту. Подходящего Exel-события для автоматического запуска этого макроса не нашел. Можно ли как-то запустить макрос из EXCELSV.S
Сервис поддержки клиентов работает на платформе UserEcho
Попробуйте _XlsObj.Run("имя_макроса");
Ни чего не получилось. Ну или может не туда вставлял... Скрипт-то большой...
Если бы был пример вашего кода, у нас было бы больше шансов помочь.
Код стандартный - поставочный ..\SCRIPT\SVOD\EXCELSV.S
Имя макроса - Svod. Сам макрос находится в шаблоне ..\ZPL\TABLSVD\extsvod.xlt
патч с примером.zip
1)В шаблон добавил макрос, который в ячейку B1 выводит строку "11"
2)В поставочный скрипт добавил строку
_XlsObj.Run("Makros11");
3)Получил свод
З.ы. макросы зло - лучше поправить поставочный скрипт ( сортировку сделать скриптом)
Сортировка - это 1/100 того что нужно сделать. На самом деле надо ещё сгруппировать начисления и удержания по статьям затрат, подвести по ним итоги, подвести итоги по статьям затрат в разных разрезах... и т.д. и т.п.
Кажется, что это все легко делается через "сводные таблицы".
Совсем не то.
Макрос должен обрабатывать данные на уже заполненном листе. Ну т.е. _XlsObj.Run("Makros11"); куда-то в другое место, туда, где скрипт уже заполнил лист.
Что значит не то :)?
Задача была продемонстрировать что макрос запускается
Вы то куда воткнули запуск макроса? От вас же просили исходники..
Спасибо за "демонстрацию", конечно... Но меня интересовало:
1. Как из скрипта вызвать запуск макроса. На этот вопрос ответил Андрей, за что огромное ему спасибо.
2. Куда именно в EXCELSV.S надо вставить _XlsObj.Run("имя_макроса");, чтобы макрос запускался после заполнения листа.
Если бы я знал куда воткнуть запуск макроса, вопроса бы не задавал.
Тему можно закрывать, разобрался сам.
Значит вы плохо сформулировали вопрос, экстрасенсов тут нет...
Я понял ваш ответ так, что макрос у вас не запустился от слова совсем.
Я бы примерно так сформулировал вопрос: