Bonjour,
Je suis d'accord : j'ai mal formulé ma question. Je cherche à éviter le dispatcher. Mais dans un
premier temps, c'est la première solution que j'ai trouvé que je pouvais appliquer.
C'est un fichier mis à disposition tous les mois avec des données statistiques : je n'ai pas la
main sur sa confection ni d'information sur le mode de confection mais il s'agit d'un fichier ods
lorsque que je le récupère.
C'est un fichier qui contient plusieurs données qui ne m'interesse pas et qui dans version récupéré
non imprimable en raison de la trop grande quantité de données inutiles. La macros me sert à
enlever tout ce qui m'est inutile, à mettre en page (forme et paramètre d'impression A4 paysage...)
et exporté le résultat en PDF.
Seule la partie style de page me pose problème, tout le reste c'est OK (surement pas très propre
dans l'écriture de la macro mais j'obtiens ce que je cherche)
Merci
----- Mail original -----
De: "Jean-Francois Nifenecker" <jean-francois.nifenecker@sud-ouest.org>
À: "users" <users@fr.libreoffice.org>
Envoyé: Mercredi 20 Novembre 2024 09:42:56
Objet: Re: [fr-users] Macro CALC : comment définir le style de page d'un onglet
Bonjour,
le dispatcher c'est bien. Mais il vaut mieux écrire les macros en
utilisant les fonctions de l'API.
Il faudrait nous en dire plus (je crains un problème XY [1]) : d'où
vient le classeur à mettre en forme ? Pourquoi avoir recours à une macro
? Avez-vous envisagé d'autres solutions (style de page dans un modèle) ?
[1] https://fr.wikipedia.org/wiki/Probl%C3%A8me_XY
Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux
Le 20/11/2024 à 09:10, Tulum a écrit :
Bonjour,
Je suis débutant en macro BASIC. J'ai un tableau avec plusieurs onglets. Je souhaite dans une
macro appliquer un style de page aux onglets (3 onglets) pour l'impression :A4 en paysage avec
alignement du tableau horizontal centré et adaptation de la zone d'impression en 1 page en
largeur.
J'ai essayé ça :
f=0
for f=0 to 2 step 1
feuille=onglet.getbyindex(f)
classeur=thiscomponent.CurrentController.frame
dispatcher.executeDispatch(classeur, ".uno:PageFormatDialog", "", 0, Array())
classeur=thiscomponent
next f
Mais voila :
- cela plante libreoffice 1 fois sur 2. Je précise que c'est en environnement professionnel :
plusieurs paramètres et accès sont vérouillés par les services informatiques.
- cela m'oblige (ou un autre utilisateur) à mettre les paramètres manuellement (ce qui n'est pas
le but d'une macro) par onglet (heureusement dans ce cas il n'y en que 3)
- cela marche uniquement pour les onglets 1 et 3, le deuxième onglet reste en style par défaut
De plus, je n'aime pas : je ne comprends pas les 5 paramètres passés à
dispatcher.executeDispatch, seulement les 2 premiers. J'aime bien comprendre ce que je fais.
Merci pour l'aide
--
Envoyez un mail à users+unsubscribe@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+unsubscribe@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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.