Bonjour,
Si on connaît le no de la page ou des pages, c'est facile:
filterProps(0).Name = "PageRange"
filterProps(0).Value = "2" (ou une plage: "2-5")
Mais avec des classeurs qui évoluent, dont je ne suis pas toujours
utilisateur et dont les zones d'impression pourraient être modifiées,
j'ai trouvé il y a très longtemps l'astuce suivante:
1) je parcours le classeur pour lire et mémoriser toutes les zones
d'impression.
2/ je mets toutes les zones à "aucune"
3) je paramètre la feuille à imprimer avec la plage souhaitée
4) je crée le PDF
5) je reporte dans le classeur les zones mémorisées pour le remettre
dans l'état initial
Comme ça m'a résolu parfaitement mon problème, je n'ai jamais cherché à
faire mieux. Je pourrais, mais pas de suite, te donner le code.
Le 15/10/2021 à 17:41, Algol formations a écrit :
Bonjour à tous,
Je suis en train de construire une macro CALC pour exporter UNE SEULE
FEUILLE au format PDF.
Tout est ok, sauf que la macro m'exporte TOUT le classeur !
Voilà le code :
Sub ExportPDF
Dim oDoc As Object , Feuille As Object, Cellule As Object
Dim Chemin As String, Fichier As String
Dim ArgPdf(0) as new com.sun.star.beans.PropertyValue
oDoc = ThisComponent
Chemin = "D:\Libre Office\LOCalc\AFPP-Calc\Calc_spécial\" '-----
Chemin de sauvegarde
Feuille = oDoc.Sheets.getByName("facture") '----- nom de la feuille
Cellule = Feuille.getCellRangeByName ("C2") '----- récupération du
numéro de facture pour l'inclure dans le nom du PDF
Fichier = Cellule.getString & ".pdf"
ArgPdf(0).Name = "FilterName"
ArgPdf(0).Value = "calc_pdf_Export"
Msgbox Chemin & "\" & Fichier
oDoc.storeToURL(convertToUrl(Chemin & Fichier),ArgPdf())
MsgBox("Fin export pdf")
End sub
L'idéal serait de définir dans la macro une zone d'impression et de
n'exporter que cette zone.
Mais je sèche !!
Merci de vos conseils
Michel
--
Cordialement,
Michel
PS: Si vous répondez, merci d'utiliser la fonction "répondre à tous" de votre logiciel
de courrier électronique de façon que la liste reçoive une copie de votre réponse.
--
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.