Re: [fr-users] [writer][macro]
Personnellement j'ai appris à programmer sous open-office grâce à l'excellent livre "Programmation OpenOffice.org 2 Macros et API de Bernard Marcelly, Laurent Godard qui contenait à l'époque une disquette avec des tas d'exemples que j'ai décortiqués et adaptés à mes besoins. Et qui fonctionnent toujours. Ensuite la communauté m'a bien aidée pour me perfectionner. Au départ j'avais choisi de rajouter l'exécution des macros par un menu pour les inconditionnels du clavier qui trouvait agaçant de devoir prendre la souris pour aller cliquer sur un bouton. Pour rajouter un menu je viens de faire une fiche de procédure téléchargeable ici : https://www.cjoint.com/c/LEuomCAgpVj <https://www.cjoint.com/doc/22_05/LEuoknhVxJj_Rajouter-menu.odt> Bon courage Claude Le 20/05/2022 à 16:00, Philippe POUMAILLOUX a écrit : Merci pour ces informations... Je suis souvent dépassé par certaines discussions... Pourriez vous m'indiquer quelques références, facilement assimilables, pour comprendre comment créer et faire fonctionner les macro dans LO... au moins à 80 ans j'aurais encore appris quelque chose, même si c'est le cas tous les jours. Cordialement Philippe envoyé : 20 mai 2022 à 11:56 de : "prog.amat...@free.fr" à : Bernard Siaud alias Troumad , LO assistance utilisateurs objet : Re: [fr-users] [writer][macro] J'ai toujours pratiqué comme cela, c'est à partir du menu personnaliser comme pour une barre d'outil. Je vais voir si j'avais réalisé une fiche de procédure. Claude Le 20/05/2022 à 11:51, Bernard Siaud alias Troumad a écrit : Le 20/05/2022 à 11:49, prog.amat...@free.fr a écrit : >> Bonjour,>> On peut aussi affecter la macro à un menu visible uniquement lorsque >> ce fichier est ouvert. >> Claude Ceci semble aussi intéressant. Il faudra trouver comment faire. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Merci pour ces informations... Je suis souvent dpass par certaines discussions... Pourriez vous m'indiquerquelques rfrences, facilement assimilables, pour comprendre comment crer etfaire fonctionner les macro dans LO... au moins 24; 80 ans j'aurais encore appris quelque chose, mme si c'est le cas tous les jours. Cordialement Philippe envoy : 20 mai 2022 11:56de : "prog.amat...@free.fr" : Bernard Siaud alias Troumad , LO assistance utilisateurs objet : Re: [fr-users] [writer][macro]J'ai toujours pratiqu comme cela, c'est partir du menu personnalisercomme pour une barre d'outil. Je vais voir si j'avais ralis une fichede procdure.ClaudeLe 20/05/2022 11:51, Bernard Siaud alias Troumad a crit: Le 20/05/2022 11:49, prog.amat...@free.fr a crit: >> Bonjour,>> On peut aussi affecter la macro un menu visible uniquement >> lorsque>> ce fichier est ouvert.>> Claude Ceci semble aussi intressant. Il faudra trouver comment faire. --Envoyez un mail users+unsubscr...@fr.libreoffice.org pour vous dsinscrireLes archives de la liste sont disponibles https://listarchives.libreoffice.org/fr/users/Privacy Policy: https://www.documentfoundation.org/privacy -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
J'ai toujours pratiqué comme cela, c'est à partir du menu personnaliser comme pour une barre d'outil. Je vais voir si j'avais réalisé une fiche de procédure. Claude Le 20/05/2022 à 11:51, Bernard Siaud alias Troumad a écrit : Le 20/05/2022 à 11:49, prog.amat...@free.fr a écrit : Bonjour, On peut aussi affecter la macro à un menu visible uniquement lorsque ce fichier est ouvert. Claude Ceci semble aussi intéressant. Il faudra trouver comment faire. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Le 20/05/2022 à 11:49, prog.amat...@free.fr a écrit : Bonjour, On peut aussi affecter la macro à un menu visible uniquement lorsque ce fichier est ouvert. Claude Ceci semble aussi intéressant. Il faudra trouver comment faire. -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Bonjour, On peut aussi affecter la macro à un menu visible uniquement lorsque ce fichier est ouvert. Claude Le 19/05/2022 à 21:29, Bernard Siaud alias Troumad a écrit : Bonsoir L'avantage du bouton, c'est que le bouton est lié au fichier. J'ai retrouvé le bouton avec un autre environnement et c'est important, car c'est une préparation pour un travail collectif. Le 19/05/2022 à 17:33, yves dutrieux a écrit : Bonjour, tu peux aussi affecter ta macro à un raccourci clavier via Outils - personnaliser - Yves ;) Le lun. 16 mai 2022 à 09:39, Bernard Siaud alias Troumad a écrit : Le 15/05/2022 à 11:22, Patrick a écrit : Le 15/05/2022 à 11:11, Bernard Siaud alias Troumad a écrit : Comme je donne le document avec la macro, il faut que la macro soit dans le document. Alors tu crées simplement une barre d'outils enregistrée dans ton document, avec la macro dans ton document et le tour est joué ! Pas facile à faire... J'y suis arrivé, je donne le mode d'emploi 1) menu Outils->personnaliser 2) Onglet Barres d'outils 3) Étendue : mon document 4) Cible (bouton à droite) => ajouter : mettre le nom souhaité à la barre d'outil 5) Catégorie -> macro chercher loin dans les macros disponibles après "Mes macros" : le document ouvert et choisir la bonne macro 6) Clic droit sur la commande pour modifier le nom et/ou l’icône. -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Bonsoir L'avantage du bouton, c'est que le bouton est lié au fichier. J'ai retrouvé le bouton avec un autre environnement et c'est important, car c'est une préparation pour un travail collectif. Le 19/05/2022 à 17:33, yves dutrieux a écrit : Bonjour, tu peux aussi affecter ta macro à un raccourci clavier via Outils - personnaliser - Yves ;) Le lun. 16 mai 2022 à 09:39, Bernard Siaud alias Troumad a écrit : Le 15/05/2022 à 11:22, Patrick a écrit : Le 15/05/2022 à 11:11, Bernard Siaud alias Troumad a écrit : Comme je donne le document avec la macro, il faut que la macro soit dans le document. Alors tu crées simplement une barre d'outils enregistrée dans ton document, avec la macro dans ton document et le tour est joué ! Pas facile à faire... J'y suis arrivé, je donne le mode d'emploi 1) menu Outils->personnaliser 2) Onglet Barres d'outils 3) Étendue : mon document 4) Cible (bouton à droite) => ajouter : mettre le nom souhaité à la barre d'outil 5) Catégorie -> macro chercher loin dans les macros disponibles après "Mes macros" : le document ouvert et choisir la bonne macro 6) Clic droit sur la commande pour modifier le nom et/ou l’icône. -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Bonjour, tu peux aussi affecter ta macro à un raccourci clavier via Outils - personnaliser - Yves ;) Le lun. 16 mai 2022 à 09:39, Bernard Siaud alias Troumad a écrit : > Le 15/05/2022 à 11:22, Patrick a écrit : > > > > > > Le 15/05/2022 à 11:11, Bernard Siaud alias Troumad a écrit : > >> Comme je donne le document avec la macro, il faut que la macro soit > >> dans le document. > > Alors tu crées simplement une barre d'outils enregistrée dans ton > > document, avec la macro dans ton document et le tour est joué ! > > > > > Pas facile à faire... J'y suis arrivé, je donne le mode d'emploi > > 1) menu Outils->personnaliser > > 2) Onglet Barres d'outils > > 3) Étendue : mon document > > 4) Cible (bouton à droite) => ajouter : mettre le nom souhaité à la > barre d'outil > > 5) Catégorie -> macro > > chercher loin dans les macros disponibles après "Mes macros" : le > document ouvert et choisir la bonne macro > > 6) Clic droit sur la commande pour modifier le nom et/ou l’icône. > > -- > Amicalement vOOotre Troumad Alias Bernard SIAUD > mon site : http://troumad.org : AD maths WEB... > Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ > N'envoyez que des documents avec des formats ouverts, comme > http://fr.libreoffice.org > > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > désinscrire > Les archives de la liste sont disponibles à > https://listarchives.libreoffice.org/fr/users/ > Privacy Policy: https://www.documentfoundation.org/privacy > -- web site : http://www.molenbaix.com -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Le 15/05/2022 à 11:22, Patrick a écrit : Le 15/05/2022 à 11:11, Bernard Siaud alias Troumad a écrit : Comme je donne le document avec la macro, il faut que la macro soit dans le document. Alors tu crées simplement une barre d'outils enregistrée dans ton document, avec la macro dans ton document et le tour est joué ! Pas facile à faire... J'y suis arrivé, je donne le mode d'emploi 1) menu Outils->personnaliser 2) Onglet Barres d'outils 3) Étendue : mon document 4) Cible (bouton à droite) => ajouter : mettre le nom souhaité à la barre d'outil 5) Catégorie -> macro chercher loin dans les macros disponibles après "Mes macros" : le document ouvert et choisir la bonne macro 6) Clic droit sur la commande pour modifier le nom et/ou l’icône. -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Le 15/05/2022 à 11:11, Bernard Siaud alias Troumad a écrit : Comme je donne le document avec la macro, il faut que la macro soit dans le document. Alors tu crées simplement une barre d'outils enregistrée dans ton document, avec la macro dans ton document et le tour est joué ! -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Le 15/05/2022 à 10:48, Patrick a écrit : Bonjour Bernard, En fait le bouton est inséré dans la barre d'outils de LO (soit standard, soit une nouvelle barre) et est donc accessible quelle que soit la page d'où tu te trouves dans le document (et même dans les autres documents sauf si ta barre perso est associée à ce document) Ce n'est pas un bouton dans le document. Mes macros ne sont pas non plus liées aux documents mais en dehors de tout document. Comme je donne le document avec la macro, il faut que la macro soit dans le document. Sinon tu peux simplement changer la valeur de ta variable en double-cliquant dessus cela ouvre la fenêtre LO permettant de la modifier. Tu n'as même pas besoin de macro pour cela. Quand je fais ça, j'arrive à une boite de dialogue me permettant de modifier la valeur, mais qu'à l'endroit où la variable est définie : la page d'entête. Mais, pas dans le pied de page où la variable est juste affichée. Bon dimanche Patrick -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]
Bonjour Bernard, En fait le bouton est inséré dans la barre d'outils de LO (soit standard, soit une nouvelle barre) et est donc accessible quelle que soit la page d'où tu te trouves dans le document (et même dans les autres documents sauf si ta barre perso est associée à ce document) Ce n'est pas un bouton dans le document. Mes macros ne sont pas non plus liées aux documents mais en dehors de tout document. Sinon tu peux simplement changer la valeur de ta variable en double-cliquant dessus cela ouvre la fenêtre LO permettant de la modifier. Tu n'as même pas besoin de macro pour cela. Bon dimanche Patrick Le 15/05/2022 à 09:29, Bernard Siaud alias Troumad a écrit : Bonjour Patrick m'a indiqué comment modifier une variable pour choisir les sections à afficher. C'est très pratique. https://help.libreoffice.org/latest/fr/text/sbasic/shared/0104.html?DbPAR=BASIC Le problème, c'est que pour modifier la valeur de cette variable, il faut faire appel à une macro. Cet appel se fait avec un bouton. Ce bouton doit être sur une page donnée. Je souhaite éviter d'avoir à retourner à la première page pour cliquer sur ce bouton. 1) Est-il possible de fixer le bouton dans l'entête ou le pied de page ? 2) Comme j'affiche la variable dans le pied de page est-il possible de lancer la macro lors d'un clic sur la variable. Le point 2 m'intéresse beaucoup En regardant https://help.libreoffice.org/latest/fr/text/sbasic/shared/0104.html?DbPAR=BASIC , j'ai l'impression que non. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
[fr-users] [writer][macro]
Bonjour Patrick m'a indiqué comment modifier une variable pour choisir les sections à afficher. C'est très pratique. https://help.libreoffice.org/latest/fr/text/sbasic/shared/0104.html?DbPAR=BASIC Le problème, c'est que pour modifier la valeur de cette variable, il faut faire appel à une macro. Cet appel se fait avec un bouton. Ce bouton doit être sur une page donnée. Je souhaite éviter d'avoir à retourner à la première page pour cliquer sur ce bouton. 1) Est-il possible de fixer le bouton dans l'entête ou le pied de page ? 2) Comme j'affiche la variable dans le pied de page est-il possible de lancer la macro lors d'un clic sur la variable. Le point 2 m'intéresse beaucoup En regardant https://help.libreoffice.org/latest/fr/text/sbasic/shared/0104.html?DbPAR=BASIC , j'ai l'impression que non. -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] [writer][macro]Nombre d'élément dans une zone liste.
Bonjour Je remercie les deux réponses. C'est bien Item.Counbt (le Count) que je cherchais. Le Xray est aussi pas mal du tout ! Je l'avais déjà utilisé il y a quelques années, mais, je l'avais complètement oublié. Je passe donc au point suivant de mon programme et à la question suivante... (Je croyais avoir déjà remercié pour ces réponses !) -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] [writer][macro]Nombre d'élément dans une zone liste.
Bonsoir Bernard, n'ayant pas ton fichier avec la macro je ne peux pas essayer ma proposition NombreD Items = Items.Count ??? tu peux aussi vérifier avec la fonction Xray si il ya le paramètre que tu cherches Cordialement Jean-Luc Le 06/02/2018 à 18:56, Bernard Siaud alias Troumad a écrit : Bonjour je fais le test suivant et ça marche : Sub Main Dim FormulaireArticles as Object Dim ListeFamille as Object FormulaireArticles = ThisComponent.DrawPage.Forms.getByName("control_2") ListeFamille = FormulaireArticles.getByName("scontrol_2") Items = ListeFamille.selectedItems(0) If Items >= 3 then Items = 0 Else Items = Items + 1 EndIf ListeFamille.selectedItems() = array(Items) End Sub Mon problème, c'est que le 3 est un peu mis au hasard... J'aimerai le remplacer par le nombre d'éléments de de la zone liste. mais, comment le trouver ? -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] [writer][macro]Nombre d'élément dans une zone liste.
Bonjour Bernard, Le 06/02/2018 à 18:56, Bernard Siaud alias Troumad a écrit : Mon problème, c'est que le 3 est un peu mis au hasard... J'aimerai le remplacer par le nombre d'éléments de de la zone liste. mais, comment le trouver ? regarde la propriété .ItemCount de la zone de liste. Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. Bien cordialement, -- Jean-Francois Nifenecker, Bordeaux -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] [writer][macro]Nombre d'élément dans une zone liste.
Bonjour je fais le test suivant et ça marche : Sub Main Dim FormulaireArticles as Object Dim ListeFamille as Object FormulaireArticles = ThisComponent.DrawPage.Forms.getByName("control_2") ListeFamille = FormulaireArticles.getByName("scontrol_2") Items = ListeFamille.selectedItems(0) If Items >= 3 then Items = 0 Else Items = Items + 1 EndIf ListeFamille.selectedItems() = array(Items) End Sub Mon problème, c'est que le 3 est un peu mis au hasard... J'aimerai le remplacer par le nombre d'éléments de de la zone liste. mais, comment le trouver ? -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD maths WEB... Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/ N'envoyez que des documents avec des formats ouverts, comme http://fr.libreoffice.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] [Writer][Macro] Déterminer la position d'une formule mathématique dans un document, par macro.
Bonjour à tous, 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. J'essaie avec le curseur visible, mais ça ne marche pas (voir le code ci-dessous). Par avance, désolé si je ne suis pas sur la bonne liste. Cordialement, O.J. Voici ou j'en suis : Sub analysedocpourlatex monDocument=ThisComponent monTexte=monDocument.Text oCurrentController = ThisComponent.getCurrentController() oTextDocument = oCurrentController.Model oEmbeddedObjects = oTextDocument.EmbeddedObjects nEndIndex = oEmbeddedObjects.Count-1 curseurvisible=oCurrentController.ViewCursor for nIndex=0 to nEndIndex oMathObject = oEmbeddedObjects.getByIndex(nIndex) oModel = oMathObject.Model if (not isNull(oModel)) then if(not isEmpty(oModel)) then if oModel.supportsService(com.sun.star.formula.FormulaProperties) Then monDocument.CurrentController.Select(oModel) textformule=oModel.Formula End if End If End If Next nIndex End Sub -- 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
[fr-users] [writer] Macro - positionner le curseur visible lorsqu'une case est cochée
Bonjour, j'ai un petit pb de curseur visible dans Writer. LibreOffice 3.5.6-2 sous Win7 64b et 4.1.4-2 sous Debian Wheezy Xfce Contexte : un document Writer composé de plusieurs tableaux consécutifs. Dans certaines cellules se trouvent des cases à cocher (ancrées comme des caractères). Besoin : je voudrais que, quand l'utilisateur a coché la case, le curseur visible se positionne à la fin du paragraphe qui suit la case cochée. De cette manière, l'utilisateur pourrait continuer la saisie sans avoir à agir sur la souris. L'exemple est là : http://cjoint.com/?0GynhetAxf7 Symptôme : La procédure _SetViewCursor(), appelée à travers UpdateChecked(), s'exécute bien mais le curseur visible n'est pas placé au bon endroit (à droite de la flèche). Il n'est même pas placé du tout. Je constate que : -- L24 : l'instruction oTextCur.gotoEndOfParagraph(False) fonctionne (si je passe True, la sélection est ok) -- L25 : un XRay sur oVCur après l'affectation renvoie des infos cohérentes (propriété Cell en particulier) -- l'ajout éventuel d'une instruction oVCur.setVisible(True) est sans effet -- après exécution de la macro, la case reste entourée de pointillés, ce qui pourrait suggérer que le focus reste sur la case à cocher, donc que le code de la macro est ensuite parasité par un comportement interne de Writer qui refocalise sur la case. La macro (UpdateChecked()) est associée à l'évènement Statut de l'élément modifié de la case à cocher. Par curiosité, j'ai essayé d'autres évènements (bouton de la souris relâché, à la perte du focus), sans plus de succès... Il me semble, a priori, que l'évènement Statut de l'élément modifié est celui qui convient : dans d'autres environnements (p.ex : Delphi), cet évènement rend la main à l'application après que le composant ait terminé toute action interne. NB : actuellement la macro s'exécute quel que soit l'état de la case, cochée ou non ; c'est pour des tests donc sans importance ici. Des idées ? Merci d'avance. Amicalement, -- Jean-Francois Nifenecker, Bordeaux -- 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
[fr-users] [writer] Macro : comment positionner le point d'insertion dans un cadre texte ?
Bonsoir, soit un document writer qui comporte du texte et des cadres. Je voudrais, par macro pour simplifier la tâche, positionner le curseur visible (le point d'insertion) dans le premier cadre, quel que soit l'emplacement courant du point d'insertion. Je peux obtenir le premier cadre par ThisComponent.TextFrames.getByIndex(0) Je sais où est le point d'insertion par l_PtInsert = ThisComponent.CurrentController.ViewCursor Mais je ne sais pas quelle propriété affecter à CurrentController (ou à ViewCursor) pour passer au premier cadre. La propriété Text de ViewCursor est en lecture seule, si bien que je ne peux lui affecter CurrentController.Text :( Une piste, quelqu'un ? Merci d'avance, -- Jean-Francois Nifenecker, Bordeaux -- 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
Re: [fr-users] [writer] Macro : comment positionner le point d'insertion dans un cadre texte ?
Le 01/05/14 22:18, Jean-Francois Nifenecker nous a écrit : Bonsoir, soit un document writer qui comporte du texte et des cadres. Je voudrais, par macro pour simplifier la tâche, positionner le curseur visible (le point d'insertion) dans le premier cadre, quel que soit l'emplacement courant du point d'insertion. Je peux obtenir le premier cadre par ThisComponent.TextFrames.getByIndex(0) Je sais où est le point d'insertion par l_PtInsert = ThisComponent.CurrentController.ViewCursor Mais je ne sais pas quelle propriété affecter à CurrentController (ou à ViewCursor) pour passer au premier cadre. La propriété Text de ViewCursor est en lecture seule, si bien que je ne peux lui affecter CurrentController.Text :( Une piste, quelqu'un ? Merci d'avance, Bonsoir, j'ai trouvé ceci sur un forum Sub AtteindreCadreSpecifique Dim oFrame As Object 'Spécifie le 1er cadre dans le document oFrame = ThisComponent.TextFrames.getByIndex(0) 'Positionne le curseur dans le cadre ThisComponent.CurrentController.Select( oFrame.Text.Start ) End Sub j'ai testé rapidement, ça entre bien dans le cadre. C_Lucien -- 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
[fr-users] Writer macro
Bonjour, J'ai une macro qui insère une page vide en fin de document. J'ai un souci car l'insertion du saut de page ne s'exécute qu'une fois. Si je lance la macro deux fois de suite le texte s'inscrit bien en fin de document mais sans saut de pas avant. Voici le code de ma macro monDocument = ThisComponent Texte = monDocument.Text Curseur = Texte.createTextCursor Curseur.gotoEnd(false) curseur.GotoEndOfparagraph(true) saut = com.sun.star.style.BreakType.PAGE_BEFORE curseur.breaktype = saut texte.insertString(Curseur, nouvelle page vide,false) Si quelqu'un avait une idée, elle serait la beinvenue Merci Claude -- 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
Re: [fr-users] Writer Macro formatage de tableau
Le 20/08/2011 14:33, Jean Michel PIERRE a écrit : Le 20/08/2011 13:03, andriant.sandy a écrit : Bonjour, Comment dois-je intégrer [QUOT]dispatcher.executeDispatch(document, .uno:SetOptimalColumnWidth, , 0, Array())[/QUOT] dans une macro pour obtenir 1 tableau à 1 seule colonne, largeur : 100% ? http://www.oooforum.org/forum/viewtopic.phtml?t=102575 Cordialement, Sandy-Pascal Andriant Ce code fonctionne : REM * Insère Tableau avec 1 ligne et 1 colonne * sub Tableau_1_ligne_1_colonne rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(3) as new com.sun.star.beans.PropertyValue args1(0).Name = TableName args1(0).Value = Tableau1 args1(1).Name = Columns args1(1).Value = 1 args1(2).Name = Rows args1(2).Value = 1 args1(3).Name = Flags args1(3).Value = 9 dispatcher.executeDispatch(document, .uno:InsertTable, , 0, args1()) end sub mais il y a d'autres manières sans Macro : http://wiki.documentfoundation.org/FR/FAQ/Writer/136 J.M Merci pour ce code qui fonctionne parfaitement. Mais comme j'ai mal posé ma question je n'ai pas obtenu la réponse adéquate. Je dois traiter quotidiennement plusieurs transferts de tableaux (1 col et 12 à 50 li) issus d'excel dans 1 doc Writer. Pour pouvoir conserver la mise en forme je fais Ctrl+Maj+V (Texte formaté [RTF]) Or ce copier-coller me donne des tableaux d'un format de 72 % Je passe ce tableau dans une macro qui modifie la police et le quadrillage. Mais je n'arrive pas à ajouter la propriété : largeur 100% Voici le code très sale par enregistrer une macro : sub tableau_100 rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(4) as new com.sun.star.beans.PropertyValue args1(0).Name = CharFontName.StyleName args1(0).Value = args1(1).Name = CharFontName.Pitch args1(1).Value = 2 args1(2).Name = CharFontName.CharSet args1(2).Value = -1 args1(3).Name = CharFontName.Family args1(3).Value = 5 args1(4).Name = CharFontName.FamilyName args1(4).Value = Arial dispatcher.executeDispatch(document, .uno:CharFontName, , 0, args1()) rem -- dim args2(2) as new com.sun.star.beans.PropertyValue args2(0).Name = FontHeight.Height args2(0).Value = 10 args2(1).Name = FontHeight.Prop args2(1).Value = 100 args2(2).Name = FontHeight.Diff args2(2).Value = 0 dispatcher.executeDispatch(document, .uno:FontHeight, , 0, args2()) rem -- dispatcher.executeDispatch(document, .uno:BorderInner, , 0, Array()) rem -- dim args4(7) as new com.sun.star.beans.PropertyValue args4(0).Name = BorderOuter.LeftBorder args4(0).Value = Array(0,0,9,0,0,9) args4(1).Name = BorderOuter.LeftDistance args4(1).Value = 49 args4(2).Name = BorderOuter.RightBorder args4(2).Value = Array(0,0,9,0,0,9) args4(3).Name = BorderOuter.RightDistance args4(3).Value = 49 args4(4).Name = BorderOuter.TopBorder args4(4).Value = Array(0,0,9,0,0,9) args4(5).Name = BorderOuter.TopDistance args4(5).Value = 0 args4(6).Name = BorderOuter.BottomBorder args4(6).Value = Array(0,0,9,0,0,9) args4(7).Name = BorderOuter.BottomDistance args4(7).Value = 0 dispatcher.executeDispatch(document, .uno:BorderOuter, , 0, args4()) rem -- dim args5(3) as new com.sun.star.beans.PropertyValue args5(0).Name = BorderShadow.Location args5(0).Value = com.sun.star.table.ShadowLocation.NONE args5(1).Name = BorderShadow.Width args5(1).Value = 180 args5(2).Name = BorderShadow.IsTransparent args5(2).Value = false args5(3).Name = BorderShadow.Color args5(3).Value = 8421504 dispatcher.executeDispatch(document, .uno:BorderShadow, , 0, args5()) end sub Cordialement, Sandy-Pascal Andriant -- Envoyez un mail à users+h...@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
[fr-users] Writer Macro formatage de tableau
Bonsoir, Quel est le code qui permet d'obtenir dans une macro Writer : Propriété du tableau / Largeur : 100% -- Cordialement, Sandy-Pascal Andriant -- Envoyez un mail à users+h...@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