Comment changer la taille ou la police de toutes les formules d'un document ?

From The Document Foundation Wiki
< Macros‎ | Math
Jump to: navigation, search
This page is a translated version of the page Macros/Math/001 and the translation is 100% complete.

Other languages:
English • ‎français

Description

Lorsque l'on veut modifier un attribut à toutes les formules que l'on va écrire, il suffit de suivre la procédure décrite dans la FAQ Math 008. Si l'on veut changer après coup, il faut réouvrir toutes les formules et faire les modifications. Si le nombre de formules est important, cela peut devenir vite fastidieux.

Sur l'issue i#5092, il est proposé une macro que l'on peut adapter ainsi :

Code

En LibreOffice Basic:

Sub ChangeFormulaSizeAndFont()
    '''Changer la taille ou la police de toutes les formules d'un document'''

    embeddedObjects = ThisComponent.getEmbeddedObjects()
    elementNames = embeddedObjects.getElementNames()

    For i = 0 To UBOUND(elementNames)

        element = embeddedObjects.getByName(elementNames(i)).Model

        If (not isNull(element)) Then
            If (element.supportsService("com.sun.star.formula.FormulaProperties")) Then
                ' force the update
                realElem = embeddedObjects.getByName(elementNames(i)).EmbeddedObject
                realElem.updateMode = com.sun.star.embed.EmbedUpdateModes.ALWAYS_UPDATE
                element.BaseFontHeight = 14
                element.FontNameVariables = "Arial"
                element.FontNameFunctions = "Arial"
                element.FontNameNumbers = "Arial"
                element.FontNameText = "Arial"
            End If
        End If
    Next i
 
    ThisComponent.reformat()

End Sub ' ChangeFormulaSizeAndFont

Consultez la page d'aide sur FormulaProperties pour connaître les autres propriétés modifiables.