Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.
Modérateur :Vilains modOOs
Règles du forum Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Bonjour à tous,
je rencontre quelques diffucultés pour automatiser l'exportation d'une feuille calc vers un fichier pdf.
Etant en possession d'un livre de macro sur OOo, j'ai testé la macro du livre, j'arrive à exporter ma feuille calc cependant je ne souhaiterais exporter que la feuille 2.
Voici la macro sur laquelle je m'appuis
Dim monDocument As Object
Dim propFich(1) as New.com.sun.star.beans.PropertyValue
monDocument=Thiscomponent
propFich(0).Name="FilterName"
propFich(0).Value="calc_pdf_Export"
monDocument.storeToURL=("C:\Docs OpenOffice\resultat.pdf")
J'ai tenté de rajouté cette ligne de commande pour n'avoir que la feuille 2 mais toujours le même résultat:
Sinon j'ai aussi testé avec l'enregistreur de macro mais après avoir enregistrer une exportation type, quand je lance la macro icalc réaffiche la boite de dialogue d'option d'exportation.
Si c'est la Feuille 2, il faudrait utiliser une zone d'impression (voir livre) ou changer la configuration de Calc pour n'imprimer que la feuille sélectionnée (voir livre, configuration de Calc).
En fait, il y a deux zones d'impression dans mon document, la première est défini sur la feuille A et la seconde sur la feuille 2.
Je souhiate exporter uniquement la zone d'impression de la feuille 2 donc en clair la Page 2 de l'impression.
J'ai effectivement fait une erreur dans mon thread initial mais j'avais effectivement mis un s à Page dans ma macro d'origine. Cependant cela ne marche toujours pas, comme ci ce paramètre n'était pas pris en compte lors de l'exportation du document.
Machine Head a écrit :En fait, il y a deux zones d'impression dans mon document, la première est défini sur la feuille A et la seconde sur la feuille 2.
Je souhiate exporter uniquement la zone d'impression de la feuille 2 donc en clair la Page 2 de l'impression.
Je vais couper les cheveux en 4, mais l'un n'implique pas l'autre. La zone de la feuille 1 peut très bien s'imprimer sur 10 pages...
Machine Head a écrit :J'ai effectivement fait une erreur dans mon thread initial mais j'avais effectivement mis un s à Page dans ma macro d'origine. Cependant cela ne marche toujours pas, comme ci ce paramètre n'était pas pris en compte lors de l'exportation du document.
Avez vous une idée de la cause?
Oui.
Toi et moi nous n'avons pas relu suffisamment la page 197 du livre. Le paramètre est PageRange pour l'export PDF
Merci bm92 ...
mais j'ai lu pas mal ce bouquin et j'ai parcouru qqes sites. J'avais également vu avec l'enregistreur de macro que le paramètre était PageRange. Malgré cela toujours le même résultat... les deux zones d'impression sont exportées et non la deuxième seulement......
Cen'est donc pas encore résolu mais merci pour ton aide tout de même.
Cordialement
Machine Head a écrit :Merci bm92 ...
mais j'ai lu pas mal ce bouquin et j'ai parcouru qqes sites. J'avais également vu avec l'enregistreur de macro que le paramètre était PageRange. Malgré cela toujours le même résultat... les deux zones d'impression sont exportées et non la deuxième seulement......
Ton codage est incorrect.
Relis encore une fois l'exemple de la page 197 du livre Programmation OpenOffice.org 2.
La propriété PageRange doit faire partie d'un tableau de propriétés, lui-même mis dans une propriété FilterData.
Je viens de faire l'essai avec Calc en 2.0.4, ça marche.
dim propFich(1) as new com.sun.star.beans.PropertyValue
dim filterProps(0) as new com.sun.star.beans.PropertyValue
filterProps(0).Name = "PageRange"
filterProps(0).Value = "3"
propFich(0).Name = "FilterName"
propFich(0).Value = "calc_pdf_Export"
propFich(1).Name = "FilterData"
propFich(1).Value = filterProps()
monDocument.storeToURL(adresseDoc, propfich())