Как записать вывод функции в ячейку таблицы

Я использую макрос в листе LibreOffice Calc, который задает дату с помощью функции «= NOW () + 14» в ячейку. Как я могу постоянно записывать вывод функции в ячейку, чтобы она не генерировала новую дату каждый раз, когда я открываю лист?


person wesalius    schedule 13.12.2015    source источник


Ответы (1)


Скопируйте ячейку. Правка->Специальная вставка; убедитесь, что поле «Текст» ВЫБРАНО, а поле «Формулы» — НЕ. Нажмите ОК. Возможно, вам потребуется отформатировать ячейку как «дата» или «время» (в противном случае время будет отображаться в виде десятичной дроби от 24 часов, а дата — в днях с 31 декабря 1899 г.).

Хотя, если вы уже используете макрос, почему бы вам не рассчитать время в макросе и не ввести время в ячейку вместо формулы?

Dim CalcTime : CalcTime = Now + 14
oCell.setString(CalcTime)
person Lyrl    schedule 14.12.2015
comment
Когда я пытаюсь запустить этот макрос, я получаю BASIC runtime error. Object variable not set. - person wesalius; 21.12.2015
comment
Это не весь макрос, это фрагмент кода. Конечно, вы должны назначить переменную oCell перед этим фрагментом, например, oCell = ThisComponent.getSheets(0).getCellByPosition(0,0) назначит ее ячейке A1 на первом листе рабочей книги. - person Lyrl; 21.12.2015