[fr-users] Re: [fr-users] Re: [fr-users] Re: [fr-users] Re: [fr-users] Re: [fr-users] [writer]Document maître => pas prendre les odt entiers.
Le 13/05/2022 à 13:39, Bernard Siaud alias Troumad a écrit : Merci ça marche ! Une question : pour la taille de 20 au tableau elements ? Très bonne question ! En fait je ne sais plus, je ne me rappelle pas pourquoi. Il y a maintenant un petit moment que je l'ai fait ! Voici mon code et est-ce que je peux le donner ici : https://forum.openoffice.org/fr/forum/viewtopic.php?p=360542#p360542 Pourquoi pas ? c'est une bonne idée. Sub choix dim i,j,taille,drap as integer dim mode as Variant dim PysField as object dim nomType as string dim newType as string dim elements(20) dim document as object dim dispatcher as object rem mettre la liste des types souhaités mode = Array("impression", "complet") drap=0 taille=Ubound(mode) document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") elements = ThisComponent.TextFieldMasters.getElementNames() rem Chercher la variable "affichage" for i=0 to ubound(elements) if (instr(elements(i),"affichage")>0) then valeur= ThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content for j= 0 to taille if mode(j) = valeur then if jThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content = mode (j+1) endif endif next j if drap=0 then rem prendre en compte le plus grand et les cas non prévus ThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content = mode (0) endif dispatcher.executeDispatch(document, ".uno:UpdateFields", "", 0, Array()) REM mettre à jour l'affichage i=ubound(elements) endif next i End Sub -- 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] Re: [fr-users] Re: [fr-users] Re: [fr-users] Re: [fr-users] [writer]Document maître => pas prendre les odt entiers.
Merci ça marche ! Une question : pour la taille de 20 au tableau elements ? Voici mon code et est-ce que je peux le donner ici : https://forum.openoffice.org/fr/forum/viewtopic.php?p=360542#p360542 Sub choix dim i,j,taille,drap as integer dim mode as Variant dim PysField as object dim nomType as string dim newType as string dim elements(20) dim document as object dim dispatcher as object rem mettre la liste des types souhaités mode = Array("impression", "complet") drap=0 taille=Ubound(mode) document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") elements = ThisComponent.TextFieldMasters.getElementNames() rem Chercher la variable "affichage" for i=0 to ubound(elements) if (instr(elements(i),"affichage")>0) then valeur= ThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content for j= 0 to taille if mode(j) = valeur then if jThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content = mode (j+1) endif endif next j if drap=0 then rem prendre en compte le plus grand et les cas non prévus ThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content = mode (0) endif dispatcher.executeDispatch(document, ".uno:UpdateFields", "", 0, Array()) REM mettre à jour l'affichage i=ubound(elements) endif next i End Sub -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD&D 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
[fr-users] Re: [fr-users] Re: [fr-users] Re: [fr-users] [writer]Document maître => pas prendre les odt entiers.
Bonjour Bernard, voici la macro que j'utilise pour changer mon type de document "Sujet" ou "Correction" Ma variable s'appelle : "Type" sub ToggleType() dim nomType as string dim newType as string dim elements(20) dim document as object dim dispatcher as object document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") elements = ThisComponent.TextFieldMasters.getElementNames() ' Chercher la variable "Type" for i=0 to ubound(elements) if (instr(elements(i),"Type")>0) then ' Récupérer la valeur du Type nomType = ThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content if (nomType = "Correction")then newType = "Sujet" else newType = "Correction" endif ' Changer la valeur de la variable ThisComponent.TextFieldMasters.getByName(elements(i)).DependentTextFields(0).content = newType dispatcher.executeDispatch(document, ".uno:UpdateFields", "", 0, Array()) endif next i End sub Elle est très certainement perfectible. Je n'ai pas encore l'habitude des macros de LO. j'étais plutôt expert dans VBA (il y a des années) Bonne journée Patrick Le 13/05/2022 à 11:16, Bernard Siaud alias Troumad a écrit : Bonjour Le 12/05/2022 à 19:44, Patrick a écrit : A priori oui, je n'ai pas fait de document maître, mais j'utilise les sections "masquées sous condition" pour faire comme tu le dis, une section contenant la correction. Ma condition est basée sur une variable qui peut avoir deux valeurs {Sujet, Correction} J'ai une macro associée à un bouton dans ma barre d'outils qui change la valeur (Sujet → Correction et vice-versa) Je n'arrive pas à trouver comment repérer la variable dans une macro. Je souhaite la modifier, mais, je ne sais pas la 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/ Privacy Policy: https://www.documentfoundation.org/privacy
[fr-users] Re: [fr-users] Re: [fr-users] [writer]Document maître => pas prendre les odt entiers.
Bonjour Le 12/05/2022 à 19:44, Patrick a écrit : A priori oui, je n'ai pas fait de document maître, mais j'utilise les sections "masquées sous condition" pour faire comme tu le dis, une section contenant la correction. Ma condition est basée sur une variable qui peut avoir deux valeurs {Sujet, Correction} J'ai une macro associée à un bouton dans ma barre d'outils qui change la valeur (Sujet → Correction et vice-versa) Je n'arrive pas à trouver comment repérer la variable dans une macro. Je souhaite la modifier, mais, je ne sais pas la trouver. -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.org : AD&D 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