Odin | База знаний 1С

Как выгрузить табли...
 

Как выгрузить таблицу из 1С в XLSM с поддержкой макросов?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

есть ли внешняя обработка или готовое расширение позволяющая выгрузить таблицу из 1С сразу в xlsm с поддержкой макросов?



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

На данный момент нет стандартного решения в 1С, которое бы напрямую поддерживало выгрузку данных в формат XLSM (Excel с макросами) с сохранением макросов. Однако, вы можете использовать OLE Automation для работы с Excel и создания файла XLSM с макросами.

Вот примерный алгоритм, как это можно реализовать:

1. Создайте объект Excel.Application.
2. Создайте новую книгу и добавьте необходимые данные.
3. Сохраните книгу в формате XLSM, используя метод `SaveAs`.

Пример кода на 1С:

1C
&НаСервере
Процедура ЭкспортВXLSM(ИмяФайла)
    Excel = СоздатьОбъект("Excel.Application");
    Excel.Visible = Ложь;
    
    Книга = Excel.Workbooks.Add();
    Лист = Книга.Worksheets(1);
    
    // Заполнение данными
    Лист.Cells(1, 1).Value = "Пример данных";
    
    // Сохранение в формате XLSM
    Книга.SaveAs(ИмяФайла, 52); // 52 - это формат xlsm
    Книга.Close();
    Excel.Quit();
КонецПроцедуры

Этот код создаст новый файл Excel с данными и сохранит его в формате XLSM. Однако, для работы с макросами вам нужно будет отдельно добавить их в файл, так как стандартные методы 1С не позволяют создавать макросы в процессе выгрузки.

Если вам нужно более сложное решение с поддержкой макросов, возможно, стоит рассмотреть разработку внешней обработки или использование сторонних библиотек, которые могут работать с Excel и поддерживать макросы.

Рекомендую посмотреть здесь: https://infostart.ru/public/62799/



   
ОтветитьЦитата