Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Le 23/06/2015 10:48, pierre-yves samyn a écrit :
Bonjour


Olivier Jaccomard wrote
si je veux, à partir de ce fichier odt, générer un fichier txt
(ou finalement tex), j'aurais un toujours un objet math
incompatible avec ce format.
J'avais prévenu que je n'avais pas bien compris :)

L'exemple suivant reprend le texte de la formule dans
le texte puis supprime l'objet. Si tu ne veux que récupérer
le texte de la formule sans supprimer l'objet il suffit de
commenter la ligne "dispose".

Nota: exemple vite fait, sans test donc... faire des copies
et des tests :)

Sub ModificationFormule
dim oDoc as object, oOle as object, dispatcher as object

oDoc = thiscomponent

for each oOle in oDoc.EmbeddedObjects
         if
oOle.Component.supportsService("com.sun.star.formula.FormulaProperties")
then
                        oOle.anchor.setString(oOle.model.Formula)
                        oOle.dispose
         end if
next oOle

' Force la mise a jour de l'ecran par la repagination
oDoc  = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(oDoc, ".uno:Repaginate", "", 0, Array())

msgbox "Terminé", 64, "Traitement des formules"

End Sub


Cordialement

C'est parfait ! Je n'avais effectivement pas pensé à ce paramètre d'ancre.
Merci beaucoup pour votre aide.
Cordialement,
O.J.


--
View this message in context: 
http://nabble.documentfoundation.org/Writer-Macro-Determiner-la-position-d-une-formule-mathematique-dans-un-document-par-macro-tp4152256p4152328.html
Sent from the Users mailing list archive at Nabble.com.



--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.