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 à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Répondre à