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

From Apache OpenOffice Wiki
< RU‎ | kb
Jump to: navigation, 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 может быть назначен на любую комбинацию клавиш либо на кнопку на панели инструментов.





S. Bormant
2010









Personal tools