Вопрос

Передача в эксель курсора с запуском макроса

Коллеги, подскажите пожалуйста, существует возможность, хранение шаблона преднастроенного экселя с встроенным макросом, далее при выгрузке данных в эксель, выполнить запуск макроса. Идея состоит в том, чтобы дополнительно выполнить форматирование и преобразование данных и тд

Нравится

6 комментариев

Игорь, насколько понял, речь не о встроенных макросах, вроде текущего пользователя, а о программах на Бейсике, встроенных в файл.

 

Для генерации файлов используется библиотека DocumentFormat.OpenXml. Теоретически, так можно сгенерировать и макрос, хотя проще вручную создать его в файле-шаблоне, который потом загрузить в систему.

 

Но макрос можно запустить только уже при открытии в самом Excel.

Если нужно преобразовать данные на этапе генерации, то лучше это делать либо кодом, либо записать в таблицу, откуда идёт выгрузка, в нужном формате, либо создать view и грузить из него.

Зверев Александр,

макросом я называю код который содержится в Excell файле .

да -Бейсик, Александр - Есть пример ? Может подскажите решение.

Мы купили систему 2 месяца назад, так что простите за может элементарные вещи. Задача - необходимо сформировать отчет в котором много расчетных полей сложение, проценты и тд. пробовал реализовать на фастрепорт и ворд - не то, при формировании в ворде необходимо создавать расчетные поля, поля создаются в таблице это ни к чему , ранее решал аналогичные задачи - передается из ПО курсор (сформировнаная таблица) и в сохраненном шаблоне  Excel  запускается курсор, все преобразования и красота реализуются уже  в excele , что-то подобного нет ? какой путь порекомендуете?

Попробуйте сторонние дополнения для выгрузки в Excel из маркета. Например, Excel reports builder или Advanced excel reports. В них заявлено использование шаблона файла с форматированием и формулами. Наверное, и макросами.

посмотрел, все отлично. спасибо, но не то.

Отвечаю на изначальный вопрос: нет, запускать макрос на Бейсике в момент генерации печатной формы нельзя. Производите все расчёты на уровне логики в системе, либо настроенными в ячейках Excel-файла шаблона формулами.

Спасибо

Показать все комментарии