- В этой теме 1 ответ, 2 участника, последнее обновление 14 часов, 56 минут назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как добавить формулу в Excel через COM из 1С для автоматического пересчета?
можно ли в табличный документ в ячейку добавить формулу типа «=RC[8]*RC[10]», чтобы при последующем выгрузке в Excel она работала при изменении ячеек
В табличном документе 1С нельзя напрямую добавить формулу в ячейку, чтобы она автоматически работала и пересчитывалась при выгрузке в Excel. Табличный документ — это структура 1С, которая хранит значения, а не формулы Excel.
Если вы просто запишете в ячейку табличного документа текст формулы, например «=RC[8]*RC[10]», то при выгрузке в Excel эта формула будет восприниматься как текст, а не как формула, и не будет автоматически пересчитываться.
Чтобы формула работала в Excel после выгрузки, нужно:
1. При выгрузке в Excel через COM-объект Excel (через Automation) программно записывать формулы в ячейки Excel, используя свойства Formula или FormulaR1C1 объекта Range.
2. Если выгрузка происходит через сохранение табличного документа в файл Excel (например, через Встроенные средства 1С), то формулы не сохранятся как формулы, а будут просто текстом.
Пример кода для записи формулы в Excel через COM из 1С:
|
1 2 3 4 5 6 7 8 9 10 |
// Создаем Excel Excel = СоздатьОбъект("Excel.Application"); Книга = Excel.Workbooks.Add(); Лист = Книга.Worksheets(1); // Записываем формулу в ячейку C1 (3-я колонка, 1-я строка) Лист.Cells(1, 3).FormulaR1C1 = "=RC[8]*RC[10]"; // Показываем Excel Excel.Visible = Истина; |
Если вы хотите, чтобы формулы были в выгруженном файле и работали, выгружайте данные через COM-объект Excel и записывайте формулы именно в Excel, а не в табличный документ.
Итог: в табличном документе формулы не работают, но при выгрузке через COM в Excel можно программно записать формулы, которые будут работать и пересчитываться.
https://infostart.ru/1c/articles/1668099/