Я знаю, что есть CTRL + ; ярлык для вставки текущей даты и CTRL + SHIFT + ; вставить текущее время.
Однако у меня есть две проблемы с этим:
1) Я хотел бы иметь один шурцут для обоих
2) Я хотел бы иметь возможность использовать пользовательский формат даты и времени (YYYY-MM-DD HH:MM:SS
)
Формат моего языка по умолчанию:MM/DD/YY HH:MM:SS pm/am
- я не хочу это менять. Я хочу использовать пользовательский формат специально для этого ярлыка, желательно без решений, включающих xdotool
или подобное внешнее макропрограммное обеспечение или глобальные общесистемные ярлыки.
Функции в Tools -> Customize -> Keyboard
, кажется, не предлагают никакой помощи.
(Почему я не хочу использовать xdotool ; лучше было бы использовать решение непосредственно в LibreOffice.)
Я нашел следующий код макроса OpenOffice здесь, но он говорит, что он работает только с документами Writer. Как бы я изменил этот макрос, чтобы вставить отформатированный DATE-TIME в текущую выбранную ячейку в Calc?
'Author: Andrew Pitonyak
'email: andrew@pitonyak.org
'uses: FindCreateNumberFormatStyle
Sub InsertDateField
Dim oDoc
Dim oText
Dim oVCurs
Dim oTCurs
Dim oDateTime
Dim s$
oDoc = ThisComponent
If oDoc.SupportsService("com.sun.star.text.TextDocument") Then
oText = oDoc.Text
oVCurs = oDoc.CurrentController.getViewCursor()
oTCurs = oText.createTextCursorByRange(oVCurs.getStart())
oText.insertString(oTCurs, "Today is ", FALSE)
' Create the DateTime type.
s = "com.sun.star.text.TextField.DateTime"
ODateTime = oDoc.createInstance(s)
oDateTime.IsFixed = TRUE
oDateTime.NumberFormat = FindCreateNumberFormatStyle(_
"DD. MMMM YYYY", oDoc)
oText.insertTextContent(oTCurs,oDateTime,FALSE)
oText.insertString(oTCurs," ",FALSE)
Else
MsgBox "Sorry, this macro requires a TextDocument"
End If
End Sub