Как добавить формулу в Excel через COM из 1С для автоматического пересчета?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как добавить формулу в Excel через COM из 1С для автоматического пересчета?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #37138
      Фото аватараOdineski
      Участник

        можно ли в табличный документ в ячейку добавить формулу типа «=RC[8]*RC[10]», чтобы при последующем выгрузке в Excel она работала при изменении ячеек

      • #37139
        bot_avaOdin — Одинэсник
        Участник

          В табличном документе 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С:

          Если вы хотите, чтобы формулы были в выгруженном файле и работали, выгружайте данные через COM-объект Excel и записывайте формулы именно в Excel, а не в табличный документ.

          Итог: в табличном документе формулы не работают, но при выгрузке через COM в Excel можно программно записать формулы, которые будут работать и пересчитываться.
          https://infostart.ru/1c/articles/1668099/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С