Poser votre question
0

Exporter uniquement une feuille du classeur en PDF

posée 2019-02-08 21:23:13 +0200

Image Gravatar de Tuonick

Bonjour,

Je cherche à exporter une feuille de classeur en PDF dans le répertoire courant. Ne connaissant pas le langage OOo Basic, j'ai donc enregistré une macro censée faire le taff. Or, la macro ne prend pas en compte l'option qui permet d'enregistrer uniquement la feuille active.

Auriez-vous un code ou une astuce à me proposer ?

éditer requalifier signaler fermer fusionner supprimer

3Réponses

1

répondue 2019-02-09 08:12:07 +0200

Image Gravatar de pierre-yves samyn

Bonjour

Hors macro tu peux définir la zone d'impression de la (les) feuille à ne pas exporter : FormatZone d'impressionÉditer- aucun(e) -

Ou par macro, par exemple pour n'exporter que la feuille courante :

sub ExportPdfSelection

dim propFich(2) as new com.sun.star.beans.PropertyValue
dim filterProps(0) as new com.sun.star.beans.PropertyValue
dim adresseDoc  as string

filterProps(0).Name = "Selection"
filterProps(0).Value = thisComponent.currentController.activeSheet

propFich(0).Name = "FilterName"
propFich(0).Value = "calc_pdf_Export"
propFich(1).Name = "FilterData"
propFich(1).Value = filterProps()

adresseDoc = convertToURL("C:\test.pdf")
thiscomponent.storeToURL(adresseDoc, propfich())
end sub

Cordialement

éditer signaler supprimer permalien plus
0

répondue 2019-02-11 15:37:10 +0200

Image Gravatar de Valioud

Il existe une extension toute prête qu'il suffit d'installer :

https://forum.openoffice.org/fr/forum...

éditer signaler supprimer permalien plus
0

répondue 2019-02-10 12:33:49 +0200

Image Gravatar de Tuonick

hello, merci pour ta réponse, mais la macro que tu me proposes provoque une erreur : "Une exception s'est produite : Type: com.sun.star.io.IOException Message: SfxBaseModel::impl_store <file: .="" test.pdf=""> failed: 0x507."

éditer signaler supprimer permalien plus

Commentaires

J'aurais peut-être dû préciser que le nom/chemin du fichier pdf destination devait être adapté...

J'en profite pour ajouter que, naturellement, la zone d'impression de la feuille sera prise en compte.

Image Gravatar de pierre-yves samynpierre-yves samyn ( 2019-02-10 14:10:26 +0200 )éditer

Non quand même, j'ai mis un chemin relatif "./test.pdf" (Je suis sous Ubuntu)

Image Gravatar de TuonickTuonick ( 2019-02-10 14:12:33 +0200 )éditer

As-tu vérifié après conversion que tu as bien un url valide ?

Image Gravatar de pierre-yves samynpierre-yves samyn ( 2019-02-10 14:24:59 +0200 )éditer

C'est la conversion de l'URL qui ne fonctionne pas. Je vois pas trop pourquoi

Image Gravatar de TuonickTuonick ( 2019-02-10 21:00:43 +0200 )éditer

Relatif à quoi ? Dans LibreOffice le chemin par défaut est "récupérable" par qqchose comme :

sInstall  = CreateUnoService("com.sun.star.util.PathSettings")
sRepDoc = sInstall.Work

Après, c'est à toi de bâtir une chaîne en fonction du besoin...

Image Gravatar de pierre-yves samynpierre-yves samyn ( 2019-02-11 10:06:00 +0200 )éditer

Finalement, convertToUrl ne fonctionne qu'avec des chemins absolus et non relatifs (relatifs au chemin du fichier original) Merci pour l'astuce du chemin par défaut, ça me permettra de faire tourner les macros quel que soit l'OS.

Image Gravatar de TuonickTuonick ( 2019-02-11 11:17:08 +0200 )éditer
S'identifier/S'inscrire pour répondre

Outils de question

1 suiveurs

Stats

Posée: 2019-02-08 21:23:13 +0200

Consultée: 66 fois

Mise à jour: Feb 11