Для LibreOffice мне пришлось внести некоторые изменения в макрос, чтобы получить автоматическое обновление формулы. Я взглянул на эту тему на форумах OpenOffice рядом с нынешней.
Вот макрос, который я использовал:
REM ***** BASIC ***** Sub ReformatFormules embeddedObjects = ThisComponent.getEmbeddedObjects() elementNames = embeddedObjects.getElementNames() for i=0 to UBOUND(elementNames) element = embeddedObjects.getByName(elementNames(i)).Model oXEO = embeddedObjects.getByName(elementNames(i)).ExtendedControlOverEmbeddedObject iCurrentState = oXEO.currentState oXEO.changeState(com.sun.star.embed.EmbedStates.UI_ACTIVE) if (not isNull(element)) then if (element.supportsService("com.sun.star.formula.FormulaProperties")) then element.BaseFontHeight = 10 element.FontNameVariables= "Times New Roman" element.FontVariablesIsItalic=1 element.FontNameFunctions = "Times New Roman" element.FontNameNumbers= "Times New Roman" element.FontNameText= "Times New Roman" endif endif next i End Sub