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


Le 22/06/2015 18:59, pierre-yves samyn a écrit :
Bonjour


Olivier Jaccomard wrote
Comme le titre l'indique, j'aimerais déterminer ou récupérer la position
d'une formule mathématiques dans un document. En effet, l'objectif est
de la remplacer par une chaine de caractère compréhensible pour Latex.
Je ne suis pas sûr de bien comprendre : si l'objectif est de modifier la
formule il n'est pas nécessaire de passer par sa position.

Le code suivant remplace par exemple le texte des formules par le mot
"latex".

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.model.setPropertyValue("Formula", "latex")
        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
Bonjour,
merci, déjà, de se pencher sur le problème.
L'idée est bonne, mais, le souci, en utilisant setPropertyValue, est que la nature de l'objet ne change pas. Du coup, 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. Il faut donc, il me semble, que je repère absolument la position de l'objet dans le texte.
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-tp4152256p4152264.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.