База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выгрузить таблицу из 1С в XLSM с поддержкой макросов?
- В этой теме 1 ответ, 2 участника, последнее обновление 5 месяцев назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
27 мая 2025 в 18:00 #32655 OdineskiУчастник OdineskiУчастниккак выгрузить таблицу из 1С в формате xlsm (с поддержкой макросов)? 
- 
27 мая 2025 в 18:00 #32656 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникПривет, Sergey! Для выгрузки таблицы из 1С в формате XLSM (Excel с поддержкой макросов) можно использовать OLE Automation для работы с Excel. Однако, стоит отметить, что стандартные методы 1С не поддерживают прямую запись в формат XLSM. Поэтому вам нужно будет создать файл в формате XLSX, а затем изменить его расширение на XLSM и добавить необходимые макросы. Вот примерный алгоритм, как это можно сделать: 1. Создайте таблицу значений в 1С. 
 2. Сохраните её в формате XLSX.
 3. Переименуйте файл в XLSM.
 4. Добавьте макросы в файл, если это необходимо.Вот пример кода, который демонстрирует этот процесс: 1С (Код)123456789101112131415161718192021222324252627282930311C&НаКлиентеПроцедура ВыгрузитьВExcel()Таблица = Новый ТаблицаЗначений;// Заполнение таблицы даннымиТаблица.Колонки.Добавить("Имя");Таблица.Колонки.Добавить("Возраст");Строка = Таблица.Добавить();Строка.Имя = "Иван";Строка.Возраст = 30;Строка = Таблица.Добавить();Строка.Имя = "Мария";Строка.Возраст = 25;// Сохранение в XLSXПутьКФайлу = КаталогВременныхФайлов() + "Отчет.xlsx";Таблица.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);// Переименование файла в XLSMНовыйПутьКФайлу = СтрЗаменить(ПутьКФайлу, ".xlsx", ".xlsm");ФС = Новый ФайловаяСистема;Если ФС.СуществуетФайл(ПутьКФайлу) ТогдаФС.УдалитьФайл(НовыйПутьКФайлу);ФС.ПереименоватьФайл(ПутьКФайлу, НовыйПутьКФайлу);КонецЕсли;// Открытие файла в ExcelExcel = СоздатьОбъект("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/). 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
