5 messages in org.openoffice.fr.progRe: [prog] Imprimer une feuille par s...
FromSent OnAttachments
Pascal ChantriauxApr 7, 2009 12:04 am 
Bernard MarcellyApr 7, 2009 5:37 am 
Jean-Marc.delmasApr 7, 2009 11:01 am.ods, .odt
Pascal ChantriauxApr 7, 2009 3:19 pm 
Pascal ChantriauxApr 7, 2009 3:31 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Imprimer une feuille par son nom dans calcActions...
From:Jean-Marc.delmas (jean@centraliens.net)
Date:Apr 7, 2009 11:01:14 am
List:org.openoffice.fr.prog
Attachments:
ImpriCalc.ods - 21k - 4 pages
imprim.odt - 33k - 5 pages

Pascal,

J'ai par le passé cherché à reproduire par programmation les possibilités d'impression offertes par le GUI. Le moins que je puisse dire est que si la documentation existe elle n'est ni mise en évidence ni regroupée en un seul lieu. C'est pourquoi je me suis fait sur l'impression une sorte de "pense-bête" constitué de deux fichiers "imprim.ods" et "imprim.odt" qui pour le premier donne quelques procédures et utilitaires d'impression Calc pendant que le second donne un exemple pour Writer et des explications nécessaires pour obtenir ce que l'on veut pour ces deux outils. Ainsi tu verras qu'à moins d'un changement très improbable, il n'existe pas de méthode implémentée dans l'API qui à partir du nom d'une feuille peut en imprimer le contenu. Deux options s'offrent à toi pour résoudre le problème : 1) Tu veux imprimer tout le contenu de la feuille et ne veux pas créer de "printArea". Il te faut alors transformer le nom de la feuille en son numéro d'index, la sélectionner via le controlleur d'écran associé, positionner les options d'impression sur "les feuilles sélectionnées" et imprimer. Il n'est pas difficile de connaître le numéro d'index d'une feuille dont on connaît le nom puique qu'il s'agit de la propiété "Sheet" de la propriété "CellAddress" de n'importe quelle cellule de la feuille, "A1" par exemple. 2) Tu ne veux qu'une partie de la feuille. Il faut alors comme te l'a écrit Bernard que tu passes par la création d'une "printArea" en plus de la sélection de la feuille que tu veux imprimer.

De cette manière seules les feuilles sélectionnées participent à l'impression. Autrement toutes les "printArea" présentes dans le document risquent d'être imprimées.

Je te joins les fichiers "imprim.ods" et "imprim.odt" que je m'étais confectionnés. Puissent-ils te servir autant qu'ils m'ont été utiles. Enfin ce mail étant public que tous les membres de la communauté intéressés par le contenu de ces deux fichiers n'hésitent pas à s'en servir, je les y invite très confraternellement.

Cordialement Jean-Marc

----- Original Message ----- From: <pasc@ac-grenoble.fr> To: <pr@fr.openoffice.org> Sent: Tuesday, April 07, 2009 9:04 AM Subject: [prog] Imprimer une feuille par son nom dans calc

Bonjour,

Je n'arrive pas à trouver s'il est possible d'imprimer par macro une feuille d'un classeur en la désignant par son nom. Le but serait d'avoir quelque chose qui ne dépende ni du nombre de pages situé avant la feuille, ni du nombre de pages de la feuille, ni de la feuille active en cours, ni de l'option globale d'impression du document (doc entier ou feuille sélectionnée).

Je n'ai trouvé qu'un message sur le sujet et il ne semble pas avoir eu de réponse.

Merci d'avance si quelqu'un a une idée.