[Résolu][Calc] Export partiel d'une feuille en PDF

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: 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 !
Avatar de l’utilisateur
Machine Head
Membre hOOnoraire
Membre hOOnoraire
Messages : 123
Inscription : 27 déc. 2005 13:08

[Résolu][Calc] Export partiel d'une feuille en PDF

Message par Machine Head »

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

Code : Tout sélectionner

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:

Code : Tout sélectionner

propFich(1).Name="Page"
propFich(1).Value="2"
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.

Comment faire donc?

Merci d'avance
Windows 7 64 Bits avec AOo 4.1.2
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Message par bm92 »

Que cherches-tu à faire ? Exporter la Feuille 2, ou exporter la Page 2 de ton impression ?

Si c'est la Page 2 de l'impression, fais attention au nom de la propriété à utiliser:

Code : Tout sélectionner

propFich(1).Name="Pages"
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).
Avatar de l’utilisateur
Machine Head
Membre hOOnoraire
Membre hOOnoraire
Messages : 123
Inscription : 27 déc. 2005 13:08

Message par Machine Head »

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.

Avez vous une idée de la cause?

cordialement
Windows 7 64 Bits avec AOo 4.1.2
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Message par bm92 »

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 :!:
Avatar de l’utilisateur
Machine Head
Membre hOOnoraire
Membre hOOnoraire
Messages : 123
Inscription : 27 déc. 2005 13:08

Message par Machine Head »

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
Windows 7 64 Bits avec AOo 4.1.2
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Message par bm92 »

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.
Avatar de l’utilisateur
Machine Head
Membre hOOnoraire
Membre hOOnoraire
Messages : 123
Inscription : 27 déc. 2005 13:08

Message par Machine Head »

Je n'ai pas la même version du livre que toi Bm92, je n'ai que la version 1 dans laquelle l'exportation en pdf n'est traitée que succintement.

Pourrais tu juste me filer la ligne de code à partir du

Code : Tout sélectionner

PropFich(1).Name ="FilterData"
car je n'arrive pas à organiser la syntaxe avec le PageRange etc....

Merci d'avance[/code]
Windows 7 64 Bits avec AOo 4.1.2
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Message par bm92 »

Voici le principe

Code : Tout sélectionner

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())
Bonne journée
Avatar de l’utilisateur
Machine Head
Membre hOOnoraire
Membre hOOnoraire
Messages : 123
Inscription : 27 déc. 2005 13:08

Message par Machine Head »

Ca y est le problème est résolu. Merci de ta patience et de ton aide.
Bon weekend
Windows 7 64 Bits avec AOo 4.1.2