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 à [email protected] 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