У нас много электронных таблиц, и необходимо обновить важный Addin.
Изменение будет включать преобразование старой формулы в новую. Это не прямое изменение, потому что имя и количество параметров не совпадают.
Поэтому мы исследуем, как это сделать автоматически. Новое дополнение доступно только на новых ПК. Он не установлен на моей рабочей станции.
Скажем , старая формула oldf и новый Newf
Мой код будет делать что-то вроде этого:
ws.Cells.Item(cell_r, cell_c).Formula = "=newf(A1, B2, """CCC""")"
Затем я вызову workbook.saveAs()
для сохранения в новой книге.
Теперь, когда я открываю новую книгу на новом ПК, я вижу, что ячейка становится «#NAME». Если я выберу ячейку, сделаю F2, а затем F9, она будет работать как положено. Но это побеждает всю цель автоматизации.
Моя теория такова: когда я устанавливаю ячейку в новую формулу на моем старом ПК, поскольку объект Excel COM не имеет представления о существовании нового надстройки, поэтому он помечает ячейку в каком-то недопустимом внутреннем состоянии. Он не будет обновляться, даже если он откроется в новом ПК.
Что можно сделать, чтобы это исправить?