Date: prev next · Thread: first prev next last
2024 Archives by date, by thread · List index


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.