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 à [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