Re: [prog] Insérer une formule de math dans un document writer
Le 09/05/2010 22:14, Christophe Devalland a écrit : Le 7 mai 2010 23:10, Agnès Simonetagnes.simo...@laposte.net a écrit : Agnès Simonet a écrit : j'ai trouvé ça qui semble fonctionner : Sub insererEquation CurseurVisible = ThisComponent.getCurrentController().getViewCursor() MonCurseur=CurseurVisible.Text.createTextCursorByRange(CurseurVisible) Formule=ThisComponent.CreateInstance(com.sun.star.text.TextEmbeddedObject) Formule.CLSID=078B7ABA-54FC-457F-8551-6147e776a997 Formule.AnchorType=com.sun.star.text.TextContentAnchorType.AS_CHARACTER ThisComponent.getCurrentController().select(MonCurseur) MonCurseur.Text.insertTextContent(MonCurseur, Formule, true) Formule.EmbeddedObject.formula={1}over{2} End Sub En espérant que ça aide. bonjour, effectivement, c'est le genre de code qui insère des objet math dans writer, aussi bien dans Dmaths que dans mon extension CmathOOo. Je vous conseille de regarder le code de l'un ou l'autre si vous souhaitez, en plus, jouer sur la taille des caractères, la police, etc... Le défaut du code ci-dessus est qu'il insère la formule en utilisant les paramètres définis dans le module math (police, taille, etc...). Cependant, tout est paramétrable par le OOoBasic en regardant là : http://api.openoffice.org/docs/common/ref/com/sun/star/formula/FormulaProperties.html cordialement, Merci à tous et à toutes pour vos réponses, en ce qui me concerne mon problème est désormais résolu. - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Copier à partir du presse-papier
Bonjour, Je voudrais coller par macro des informations qui se trouvent dans le presse-papier et qui sont sous forme de tableau. J'ai trouvé dans les différents fils une réponse disant que cela ne peut pas se faire par l'API mais comme ce fil en ancien j'aimerais savoir si c'est toujours d'actualité. Ensuite j'ai trouvé dans l'aide qu'avec le dispatcher il existait le Pasteformat qui permet (je cite) de pastes the contents of the clipboard at the specified position on the sheet, using the specified format. Où puis-je trouver les paramètres à passer pour définir ce fameux format ? Merci Claude - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Re: Copier/coller de Calc vers Writer, est-ce possible ?
Agnès Simonet a écrit : nimel a écrit : Bonjour, voici la question du jour, Avant de me lancer dans la prochaine étape de mon projet, je voudrais tout simplement savoir si c'est possible : - Dans Calc sélectionner une plage de cellules (ça je sais faire) - La copier dans le presse-papier(la grande inconnu !) - Créer un nouveau document Writer d'après modèle (j'ai lu ça quelque part) - Y coller cette plage de cellules, au mieux sous forme de tableau Calc au pire sous forme de tableau texte (aye aye !) Enfin bref, l'équivalent di Ctrl+C, aller dans Writer puis Ctrl+Maj+V J'ai essayé d'avoir une piste avec l'enregistreur de macros mais le script s'arrête à la création d'un nouveau document. Nicole de Bordeaux Bonsoir, Encore moi ! Chaque étape que tu décris est réalisable : * copier dans le presse-papier Je crois que ce que fait l'enregistreur de macro est la meilleure solution : dim document as object dim dispatcher as object 'accéder au document (calc) document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) 'copier dans le presse-papier dispatcher.executeDispatch(document, .uno:Copy, , 0, Array()) *créer un nouveau document : il te reste à retrouver l'info :-) * coller le contenu du presse-papier là aussi on s'inspire de l'enregistreur : 'accéder au document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) 'collage spécial Draw8 dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = SelectedFormat args1(0).Value = 85 dispatcher.executeDispatch(document, .uno:ClipboardFormatItems, , 0, args1()) Chaque étape fonctionne mais le problème c'est que le document n'est pas le même dans les 2 étapes. Or si tu groupes les morceaux dans une même macro (liée au document calc par exemple)il faudra bien un moyen de lui dire que l'étape du collage concerne le document writer. Et là je ne sais pas faire si ce document vient juste d'être crée. Il faudrait qu'il ait été enregistré pour qu'on puisse le désigner via son nom. Voilà. Je ne suis pas sûre que ça aide. Agnès S. Bonjour Agnès, J'ai contourné le pb en utilisant l'enregistreur (qui donne exactement ton code) et en séparant les macros, une de départ dans le document Calc qui se termine par la création d'un document d'après modèle, et une d'arrivée dans le document Writer, qui se déclenche sur l'évènement activation du document et qui fait le coller. Ça marche, sauf que ce satané tableau se colle au début du document et non là ou je positionne le curseur d'écriture (avec ton code issu de dans la jungle...). Pourquoi tant de haine ! - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Re: Copier/coller de Calc vers Writer, est-ce possible ?
Bonjour Ça marche, sauf que ce satané tableau se colle au début du document et non là ou je positionne le curseur d'écriture (avec ton code issu de dans la jungle...). Pourquoi tant de haine ! le paste issu du dispatcher colle à l'endroit du curseur visible (et non du curseur d'ecriture) le curseur visible, qui peut etre deplacé, est le ViewCursor regarder de ce coté http://api.openoffice.org/docs/common/ref/com/sun/star/text/XTextViewCursorSupplier.html#getViewCursor http://api.openoffice.org/docs/common/ref/com/sun/star/text/XTextViewCursor.html http://api.openoffice.org/docs/common/ref/com/sun/star/text/XTextCursor.html#gotoRange (en remarquant qu'un curseur d'ecriture est egalement un TextRange) en OOoBasic, pour obtenir le viewCursor vCursor = thisComponent.currentController.viewCursor si maintenant tu veux positionner ce vCursor au curseur d'ecriture que tu as defini auparavent, eCursor vCursor.gotoRange(eCursor, false) ensuite tu fais ton paste avec dispatcher Bon tout ceci ecrit à la va vite, sans aucune verification ;) HTH Laurent - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] verrou de fichier
Jean-Baptiste Faure a écrit : Bonsoir, Le 02.05.2010 09:02, Kohler Gerard a écrit : bonjour, je n'arrive pas à trouver la solution à mon problème (j'ai lu ça quelque part il y a longtemps et je ne retrouve plus la doc :-( ): comment faire pour mettre des verrous en écriture sur des fichiers ouverts par macro ?, j'ai plusieurs secretaires qui peuvent ouvrir des fichiers calc sur un serveur, et je voudrai que seule la première à ouvrir le fichier puisse le modifier. Le système de verrouillage actuel ne le fait pas tout seul ? Quelle version de OOo utilisez-vous ? Bonne soirée JBF j'ai réglé le problème en mettant le fichier contenant les macros ouvrant les fichiers calc sur le serveur au lieu d'avoir des fichiers sur chaque poste. merci Gerard - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org