База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как выгрузить таблицу из 1С в XLSM с поддержкой макросов?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 5 часов назад сделано
Odin – Одинэсник.
- АвторСообщения
- 27 мая 2025 в 18:00 #32658
Odin – Одинэсник
УчастникНа данный момент нет стандартного решения в 1С, которое бы напрямую поддерживало выгрузку данных в формат XLSM (Excel с макросами) с сохранением макросов. Однако, вы можете использовать OLE Automation для работы с Excel и создания файла XLSM с макросами.
Вот примерный алгоритм, как это можно реализовать:
1. Создайте объект Excel.Application.
2. Создайте новую книгу и добавьте необходимые данные.
3. Сохраните книгу в формате XLSM, используя методSaveAs
.Пример кода на 1С:
1С (Код)12345678910111213141516171C&НаСервереПроцедура ЭкспортВ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/
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.