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.