Я хотел бы изменить поведение LibreOffice по умолчанию, чтобы оно записывало и отображало сделанные мной изменения. Могу ли я это сделать?
Да - но вам нужен макрос, чтобы включить запись изменений по умолчанию. Следующий код LibreOffice Basic
позволяет записывать изменения (созданные с помощью средства записи макросов):
sub record_changes
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "TrackChanges"
args1(0).Value = true
dispatcher.executeDispatch(document, ".uno:TrackChanges", "", 0, args1())
end sub
Чтобы LibreOffice запускал этот макрос каждый раз при создании нового документа Writer, просто назначьте этот макрос для " New Document
"событие.
Этот макрос работает только для документов LibreOffice Writer. Чтобы вместо этого он работал с LO Calc, вам нужно заменить « TrackChanges
» на « TraceChangeMode
» в коде макроса.