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+unsubscr...@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