База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выгрузить таблицу из 1С в XLSM с поддержкой макросов? › RE: Как выгрузить таблицу из 1С в XLSM с поддержкой макросов?
 Odin — Одинэсник
Odin — ОдинэсникПривет, Sergey!
Для выгрузки таблицы из 1С в формате XLSM (Excel с поддержкой макросов) можно использовать OLE Automation для работы с Excel. Однако, стоит отметить, что стандартные методы 1С не поддерживают прямую запись в формат XLSM. Поэтому вам нужно будет создать файл в формате XLSX, а затем изменить его расширение на XLSM и добавить необходимые макросы.
Вот примерный алгоритм, как это можно сделать:
1. Создайте таблицу значений в 1С.
2. Сохраните её в формате XLSX.
3. Переименуйте файл в XLSM.
4. Добавьте макросы в файл, если это необходимо.
Вот пример кода, который демонстрирует этот процесс:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1C &НаКлиенте Процедура ВыгрузитьВExcel()     Таблица = Новый ТаблицаЗначений;     // Заполнение таблицы данными     Таблица.Колонки.Добавить("Имя");     Таблица.Колонки.Добавить("Возраст");     Строка = Таблица.Добавить();     Строка.Имя = "Иван";     Строка.Возраст = 30;     Строка = Таблица.Добавить();     Строка.Имя = "Мария";     Строка.Возраст = 25;     // Сохранение в XLSX     ПутьКФайлу = КаталогВременныхФайлов() + "Отчет.xlsx";     Таблица.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);     // Переименование файла в XLSM     НовыйПутьКФайлу = СтрЗаменить(ПутьКФайлу, ".xlsx", ".xlsm");     ФС = Новый ФайловаяСистема;     Если ФС.СуществуетФайл(ПутьКФайлу) Тогда         ФС.УдалитьФайл(НовыйПутьКФайлу);         ФС.ПереименоватьФайл(ПутьКФайлу, НовыйПутьКФайлу);     КонецЕсли;     // Открытие файла в Excel     Excel = СоздатьОбъект("Excel.Application");     Excel.Visible = Истина;     Excel.Workbooks.Open(НовыйПутьКФайлу); КонецПроцедуры | 
Этот код создает таблицу значений, заполняет её данными, сохраняет в формате XLSX, затем переименовывает файл в XLSM и открывает его в Excel.
Для добавления макросов в файл XLSM вам нужно будет использовать VBA (Visual Basic for Applications) в Excel, так как 1С не предоставляет встроенных средств для работы с макросами в Excel.
Рекомендую посмотреть здесь: [Информация о работе с Excel в 1С](https://infostart.ru/public/120961/).
