База Знаний: Calc. Запись результата работы макроса в текущую ячейку

From Wiki
Jump to navigationJump to search


В случае возникновения необходимости записи в текущую ячейку результатов работы макроса, можно воспользоваться следующим примером:

Sub calcWriteTime
Dim SelectedItem
   SelectedItem = ThisComponent.CurrentSelection
   If SelectedItem.supportsService("com.sun.star.sheet.SheetCell") Then
      SelectedItem.NumberFormat = 51
      SelectedItem.Value = Now()
   End if
End Sub

В данном примере вычисляется функция Now() и она может быть заменена на любую другую. Кроме того, ячейке назначается формат даты "ДД.ММ.ГГГГ ЧЧ:ММ:СС". Если требуется отображать только время "ЧЧ:ММ:СС", используйте код формата 41.

Tip.png Если требуется использовать иной формат ячейки, но его код неизвестен, тогда рекомендуется воспользоваться макрорекордером через меню Сервис → Макросы → Записать макрос, записав макрос форматирования ячейки. Искомый код будет записан в тексте макроса.

Вызов функции макроса calcWriteTime может быть назначен на любую комбинацию клавиш либо на кнопку на панели инструментов.










К началу страницы