Bonjour,

Je cherche à récupérer les formules d'un document entier ou d'une sélection, pour pouvoir les modifier ensuite.
Les formules sont présentes dans le plain-texte et dans un tableau.

Pour le document je récupère comme ceci et tout va bien :
LeDocument=Thiscomponent
LesObjetsEmbedded=leDocument.getEmbeddedObjects
for i=0 to LesObjetsEmbedded.count-1
        LobjetEmbedded=LesObjetsEmbedded(i)
        BoulotPourObjetUltime (LobjetEmbedded)
next i  

Pour la sélection je procède ainsi :
LaSelection=ThisComponent.getCurrentSelection()
LesObjetsSel=LaSelection.getbyIndex(0)
LesObjetsTextContent=LesObjetsSel.createContentEnumeration("com.sun.star.text.TextContent")
        while LesObjetsTextContent.HasMoreElements
                LobjetTextContent=LesObjetsTextContent.NextElement
                BoulotPourObjetUltime (LobjetTextContent)
        wend    

Le sous-programme BoulotPourObjetUltime :
Sub BoulotPourObjetUltime (Lobjet As Object)
if Lobjet.getImplementationName="SwXTextEmbeddedObject" then
if Lobjet.embeddedObject.getImplementationName="com.sun.star.comp.math.FormulaDocument" then
        'Lobjet est une formule
        print "formule détectée : " & Lobjet.Name
        endif
endif
End Sub

Dans le cas de la sélection, les formules ancrées comme caractère dans le tableau ne sont pas "vues".
J'avoue que je ne comprends pas pourquoi.
Quelqu'un aurait-il une idée et -le rève- une solution ?

Le fichier exemple est disponible ici :
<http://agnooo.free.fr/pluxml/data/documents/pb/styles_formules/pb_formules_dans_tableau.odt>

Bonne journée
Agnès S.

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à