OVH Cloud OVH Cloud

Imprimer vers pdf nommé nouveau fil

70 réponses
Avatar
rthompson
Bonjour à toutes et tous

Je me suis permis de commencer un nouveau fil
Pour deux raisons
Primo, je commence à me perdre dans l'autre
Et puis ceci intéresse peut-être d'autres

Mais que tout ceci ne m'empêche pas de remercier ceux qui m'aident
JPS, Lsteph, Trirème, Philippe, François

On approche du but !!!!!!

Pour rappel, il s'agit de faire imprimer une feuille Excel (pas le tout)
vers un fichier PDF

Commençons par un bout de code qui fonctionne
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Range("C4").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range("E2").Select
Application.CutCopyMode = False
Range("E2").Select
Selection.Copy
Application.CutCopyMode = False
Application.ActivePrinter = "CutePDF Writer on CPW2:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"CutePDF Writer on CPW2:", Collate:=True

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ce code fonctionne, mais demande confirmation d'un nom de fichier
Et prend comme nom par défault celui du fichier
Et il crée un fichier (une seule feuille) lisible par Acrobat de 150Kg

Et ce n'est pas le but rechercher
Donc après moulte échanges j'ai trouvé ce code-ci
On change juste les dernières lignes

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Application.ActivePrinter = "CutePDF Writer on CPW2:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, PrintToFile:=True,
PrToFilename:="PDFname.pdf"
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ce code-ci tourne jusqu"au bout, sans message de confirmation
Juste une fenêtre "Printing to Cute....." pendant quelques secondes
Il crée un fichier PDFname.pdf de 250Kg dans le répertoire du fichier
Mais quand j'essaie de l'ouvrir Acrobat me dit
que ce n'est pas un fichier pdf ou qu'il est tronqué ou endommager


Alors je continue mais si ceci vous dit quelque chose
N'hésitez pas

A très bientôt

Rex

10 réponses

3 4 5 6 7
Avatar
rthompson
Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer" avant
de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible de
laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit) qui met
le bazar. Il doit avoir un robot car sitôt que j'essaie de débloquer
l'accès (même après plusieurs semaines de fermeture) il est à nouveau là.
Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il donne
accès à de nouveaux objets avec leurs méthodes, propriétés et évènements.
Dans le code ci-dessous 2 méthodes et 1 propriétés sont utilisées. Pour
mieux les utiliser et connaitre les autres, lire Acrobat® Distiller® API
Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier prend
en compte des réglages de couleur, de compatibilité avec les versions
d'Acrobat Reader, de cryptage... Le choix se fait un peu selon que l'on
visualise le fichier à l'écran ou qu'on l'imprime, car il y a une option
de rotation ou non des pages en paysage. Plus d'informations en lançant
Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du document,
la modification, la sélection-copie du contenu, l'ajout de commentaires,
l'extraction de pages, l'assemblage de pages, l'usage d'un mot de
passe... On peut modifier ces paramètres en lançant Acrobat Distiller en
direct mais pas par macro. La macro ci-dessous ne fera que prendre en
compte les paramètres utilisés au cours du dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire référence à
la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent l'extension
.jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

' **********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension .ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
' http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
' **********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème




Avatar
Misange
Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application
ce code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer" avant
de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible de
laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit) qui met
le bazar. Il doit avoir un robot car sitôt que j'essaie de débloquer
l'accès (même après plusieurs semaines de fermeture) il est à nouveau là.
Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il donne
accès à de nouveaux objets avec leurs méthodes, propriétés et évènements.
Dans le code ci-dessous 2 méthodes et 1 propriétés sont utilisées. Pour
mieux les utiliser et connaitre les autres, lire Acrobat® Distiller® API
Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier prend
en compte des réglages de couleur, de compatibilité avec les versions
d'Acrobat Reader, de cryptage... Le choix se fait un peu selon que l'on
visualise le fichier à l'écran ou qu'on l'imprime, car il y a une option
de rotation ou non des pages en paysage. Plus d'informations en lançant
Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du document,
la modification, la sélection-copie du contenu, l'ajout de commentaires,
l'extraction de pages, l'assemblage de pages, l'usage d'un mot de
passe... On peut modifier ces paramètres en lançant Acrobat Distiller en
direct mais pas par macro. La macro ci-dessous ne fera que prendre en
compte les paramètres utilisés au cours du dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire référence à
la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent l'extension
.jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

' **********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension .ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
' http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
' **********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème








Avatar
rthompson
Bonjour

Il s'agit d'un fichier plutôt massive et dés qu'il sera fini
et que j'aurais fini un petit mode d'emploi je te le ferai parvenir

De préférence en ligne directe comme cela tu pourras décider de le poster ou
pas

A bientôt

Et bon week end

Rex ;-))) )))


"Misange" a écrit dans le message de news:

Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application ce
code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer"
avant de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible de
laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit) qui
met le bazar. Il doit avoir un robot car sitôt que j'essaie de débloquer
l'accès (même après plusieurs semaines de fermeture) il est à nouveau
là. Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il donne
accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à
utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier prend
en compte des réglages de couleur, de compatibilité avec les versions
d'Acrobat Reader, de cryptage... Le choix se fait un peu selon que l'on
visualise le fichier à l'écran ou qu'on l'imprime, car il y a une
option de rotation ou non des pages en paysage. Plus d'informations en
lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du
document, la modification, la sélection-copie du contenu, l'ajout de
commentaires, l'extraction de pages, l'assemblage de pages, l'usage
d'un mot de passe... On peut modifier ces paramètres en lançant Acrobat
Distiller en direct mais pas par macro. La macro ci-dessous ne fera que
prendre en compte les paramètres utilisés au cours du dernier lancement
en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire référence
à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent
l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

'
**********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension
.ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
' http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
'
**********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème









Avatar
lSteph
Bonjour,

Question Annexe,

à ton avis est-ce qu'on pourrait ajouter plusieurs Pages (Feuilles )
au .PS
?
Tu devines sans doute l'idée qui me trotte...

Merci.

LSteph

On 7 sep, 02:10, Trirème wrote:
Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un docume nt pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il do nne accès à
de nouveaux objets avec leurs méthodes, propriétés et évènement s. Dans le code
ci-dessous 2 méthodes et 1 propriétés sont utilisées. Pour mieux les utiliser et
connaitre les autres, lire Acrobat® Distiller® API Reference ici :htt p://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf(version 8 .0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera celui
utilisé au cours du dernier lancement en direct. Ce fichier prend en co mpte des
réglages de couleur, de compatibilité avec les versions d'Acrobat Rea der, de
cryptage... Le choix se fait un peu selon que l'on visualise le fichier à
l'écran ou qu'on l'imprime, car il y a une option de rotation ou non de s pages
en paysage. Plus d'informations en lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier d'op tions.
Acrobat Distiller autorise ou non : l'impression du document, la modifica tion,
la sélection-copie du contenu, l'ajout de commentaires, l'extraction de pages,
l'assemblage de pages, l'usage d'un mot de passe... On peut modifier ces
paramètres en lançant Acrobat Distiller en direct mais pas par macro. La macro
ci-dessous ne fera que prendre en compte les paramètres utilisés au c ours du
dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode File ToPDF2
utilisant un 4ème paramètre booléen semblant faire référence à la sécurité
évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and S ettingsAll
UsersDocumentsAdobe PDFSettings et portent l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences : com.adobe.AdobePDFSetti ngs.plist.
(in /Library/Preferences/).

Enfin, le code :

' **********************************************************************
Private Sub ImprimePDF()
' original code there :http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension .ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
'http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=Tru e,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
' **********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème


Avatar
Misange
tu peux utliser la page proposer un classeur d'excelabo pour me
l'envoyer. (tout est expliqué sur la façon de construire un classeur
exemple sur cette page)

Fais le surtout le plus léger possible : le but est juste d'illustrer
UNE fonction. Quand les classeurs contiennent des foultitudes de choses,
certes très utiles, cela complique considérablement la tache de celui
qui veut juste savoir comment faire 1 truc et qui ne comprends pas si le
reste lui est nécessaire ou pas. En l'occurrence ici, tu mets tes
explications dans la page d'accueil et tu ajoutes un bouton qui lance la
macro permettant d'imprimer en pdf en mettant le nom de la page comme
nom du fichier. Mais surtout ne mets pas tout ton classeur gérant tes
clients tes commandes et autres :-)
Si tu veux par la suite partager d'autres astuces super que tu as
développées (seul ou avec d'autres) tu peux le faire bien sur mais
surtout toujours avec le même principe : peu de questions à la fois et
donc des réponses simples et en nombre limité. Les classeurs du genre
"toutes mes meilleures astuces" servent à celui qui crée le classeur,
beaucoup moins à ceux qui le téléchargent et s'y perdent.

Merci :-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour

Il s'agit d'un fichier plutôt massive et dés qu'il sera fini
et que j'aurais fini un petit mode d'emploi je te le ferai parvenir

De préférence en ligne directe comme cela tu pourras décider de le poster ou
pas

A bientôt

Et bon week end

Rex ;-))) )))


"Misange" a écrit dans le message de news:

Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application ce
code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer"
avant de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible de
laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit) qui
met le bazar. Il doit avoir un robot car sitôt que j'essaie de débloquer
l'accès (même après plusieurs semaines de fermeture) il est à nouveau
là. Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il donne
accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à
utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier prend
en compte des réglages de couleur, de compatibilité avec les versions
d'Acrobat Reader, de cryptage... Le choix se fait un peu selon que l'on
visualise le fichier à l'écran ou qu'on l'imprime, car il y a une
option de rotation ou non des pages en paysage. Plus d'informations en
lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du
document, la modification, la sélection-copie du contenu, l'ajout de
commentaires, l'extraction de pages, l'assemblage de pages, l'usage
d'un mot de passe... On peut modifier ces paramètres en lançant Acrobat
Distiller en direct mais pas par macro. La macro ci-dessous ne fera que
prendre en compte les paramètres utilisés au cours du dernier lancement
en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire référence
à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent
l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

'
**********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension
.ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
' http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
'
**********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème











Avatar
rthompson
Oui Chef !!!!

Donc tu veux que je saucissonne mon fichier??

Je le ferais avec plaisir mais cela prendra du temps

A bientôt

Et merci pour ton aide et tes conseils

Rex ;-)) )))



"Misange" a écrit dans le message de news:
Ol$
tu peux utliser la page proposer un classeur d'excelabo pour me l'envoyer.
(tout est expliqué sur la façon de construire un classeur exemple sur
cette page)

Fais le surtout le plus léger possible : le but est juste d'illustrer UNE
fonction. Quand les classeurs contiennent des foultitudes de choses,
certes très utiles, cela complique considérablement la tache de celui qui
veut juste savoir comment faire 1 truc et qui ne comprends pas si le reste
lui est nécessaire ou pas. En l'occurrence ici, tu mets tes explications
dans la page d'accueil et tu ajoutes un bouton qui lance la macro
permettant d'imprimer en pdf en mettant le nom de la page comme nom du
fichier. Mais surtout ne mets pas tout ton classeur gérant tes clients tes
commandes et autres :-)
Si tu veux par la suite partager d'autres astuces super que tu as
développées (seul ou avec d'autres) tu peux le faire bien sur mais surtout
toujours avec le même principe : peu de questions à la fois et donc des
réponses simples et en nombre limité. Les classeurs du genre "toutes mes
meilleures astuces" servent à celui qui crée le classeur, beaucoup moins à
ceux qui le téléchargent et s'y perdent.

Merci :-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour

Il s'agit d'un fichier plutôt massive et dés qu'il sera fini
et que j'aurais fini un petit mode d'emploi je te le ferai parvenir

De préférence en ligne directe comme cela tu pourras décider de le poster
ou pas

A bientôt

Et bon week end

Rex ;-))) )))


"Misange" a écrit dans le message de news:

Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application
ce code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer"
avant de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois
terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible
de laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit)
qui met le bazar. Il doit avoir un robot car sitôt que j'essaie de
débloquer l'accès (même après plusieurs semaines de fermeture) il est
à nouveau là. Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il
donne accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à
utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier
prend en compte des réglages de couleur, de compatibilité avec les
versions d'Acrobat Reader, de cryptage... Le choix se fait un peu
selon que l'on visualise le fichier à l'écran ou qu'on l'imprime, car
il y a une option de rotation ou non des pages en paysage. Plus
d'informations en lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du
document, la modification, la sélection-copie du contenu, l'ajout de
commentaires, l'extraction de pages, l'assemblage de pages, l'usage
d'un mot de passe... On peut modifier ces paramètres en lançant
Acrobat Distiller en direct mais pas par macro. La macro ci-dessous
ne fera que prendre en compte les paramètres utilisés au cours du
dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire
référence à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent
l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

'
**********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension
.ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
'
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la
macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
'
**********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème













Avatar
papou
Bonjour Misange
Je viens de proposer un petit classeur (macro complémentaire) sur ton site.
Des fois que ça pourrait être utile !

Cordialement
Pascal

"Misange" a écrit dans le message de news:
Ol$
tu peux utliser la page proposer un classeur d'excelabo pour me l'envoyer.
(tout est expliqué sur la façon de construire un classeur exemple sur
cette page)

Fais le surtout le plus léger possible : le but est juste d'illustrer UNE
fonction. Quand les classeurs contiennent des foultitudes de choses,
certes très utiles, cela complique considérablement la tache de celui qui
veut juste savoir comment faire 1 truc et qui ne comprends pas si le reste
lui est nécessaire ou pas. En l'occurrence ici, tu mets tes explications
dans la page d'accueil et tu ajoutes un bouton qui lance la macro
permettant d'imprimer en pdf en mettant le nom de la page comme nom du
fichier. Mais surtout ne mets pas tout ton classeur gérant tes clients tes
commandes et autres :-)
Si tu veux par la suite partager d'autres astuces super que tu as
développées (seul ou avec d'autres) tu peux le faire bien sur mais surtout
toujours avec le même principe : peu de questions à la fois et donc des
réponses simples et en nombre limité. Les classeurs du genre "toutes mes
meilleures astuces" servent à celui qui crée le classeur, beaucoup moins à
ceux qui le téléchargent et s'y perdent.

Merci :-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour

Il s'agit d'un fichier plutôt massive et dés qu'il sera fini
et que j'aurais fini un petit mode d'emploi je te le ferai parvenir

De préférence en ligne directe comme cela tu pourras décider de le poster
ou pas

A bientôt

Et bon week end

Rex ;-))) )))


"Misange" a écrit dans le message de news:

Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application
ce code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer"
avant de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois
terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible
de laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit)
qui met le bazar. Il doit avoir un robot car sitôt que j'essaie de
débloquer l'accès (même après plusieurs semaines de fermeture) il est
à nouveau là. Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il
donne accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à
utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier
prend en compte des réglages de couleur, de compatibilité avec les
versions d'Acrobat Reader, de cryptage... Le choix se fait un peu
selon que l'on visualise le fichier à l'écran ou qu'on l'imprime, car
il y a une option de rotation ou non des pages en paysage. Plus
d'informations en lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du
document, la modification, la sélection-copie du contenu, l'ajout de
commentaires, l'extraction de pages, l'assemblage de pages, l'usage
d'un mot de passe... On peut modifier ces paramètres en lançant
Acrobat Distiller en direct mais pas par macro. La macro ci-dessous
ne fera que prendre en compte les paramètres utilisés au cours du
dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire
référence à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent
l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

'
**********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension
.ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
'
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la
macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
'
**********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème













Avatar
Misange
Salut Papou
j'ai vu !
Peut être pourrais tu l'envoyer à Rex pour qu'il le teste et voie si
c'est encore nécessaire après cela qu'il saucissonne son classeur :-)
Cela dit, si tu n'y vois pas d'inconvénient, je vais
dé-macrocomplémentariser ton classeur : il est préférable à mon avis de
proposer une macro à tester, de façon à ce que ceux qui ont envie de
l'utiliser de façon régulière choisissent de la transformer en
macrocomplémentaire ensuite mais que ceux qui ne le souhaitent pas
puissent l'éliminer facilement.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange
Je viens de proposer un petit classeur (macro complémentaire) sur ton site.
Des fois que ça pourrait être utile !

Cordialement
Pascal

"Misange" a écrit dans le message de news:
Ol$
tu peux utliser la page proposer un classeur d'excelabo pour me l'envoyer.
(tout est expliqué sur la façon de construire un classeur exemple sur
cette page)

Fais le surtout le plus léger possible : le but est juste d'illustrer UNE
fonction. Quand les classeurs contiennent des foultitudes de choses,
certes très utiles, cela complique considérablement la tache de celui qui
veut juste savoir comment faire 1 truc et qui ne comprends pas si le reste
lui est nécessaire ou pas. En l'occurrence ici, tu mets tes explications
dans la page d'accueil et tu ajoutes un bouton qui lance la macro
permettant d'imprimer en pdf en mettant le nom de la page comme nom du
fichier. Mais surtout ne mets pas tout ton classeur gérant tes clients tes
commandes et autres :-)
Si tu veux par la suite partager d'autres astuces super que tu as
développées (seul ou avec d'autres) tu peux le faire bien sur mais surtout
toujours avec le même principe : peu de questions à la fois et donc des
réponses simples et en nombre limité. Les classeurs du genre "toutes mes
meilleures astuces" servent à celui qui crée le classeur, beaucoup moins à
ceux qui le téléchargent et s'y perdent.

Merci :-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour

Il s'agit d'un fichier plutôt massive et dés qu'il sera fini
et que j'aurais fini un petit mode d'emploi je te le ferai parvenir

De préférence en ligne directe comme cela tu pourras décider de le poster
ou pas

A bientôt

Et bon week end

Rex ;-))) )))


"Misange" a écrit dans le message de news:

Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application
ce code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer"
avant de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois
terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible
de laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit)
qui met le bazar. Il doit avoir un robot car sitôt que j'essaie de
débloquer l'accès (même après plusieurs semaines de fermeture) il est
à nouveau là. Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il
donne accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à
utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier
prend en compte des réglages de couleur, de compatibilité avec les
versions d'Acrobat Reader, de cryptage... Le choix se fait un peu
selon que l'on visualise le fichier à l'écran ou qu'on l'imprime, car
il y a une option de rotation ou non des pages en paysage. Plus
d'informations en lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du
document, la modification, la sélection-copie du contenu, l'ajout de
commentaires, l'extraction de pages, l'assemblage de pages, l'usage
d'un mot de passe... On peut modifier ces paramètres en lançant
Acrobat Distiller en direct mais pas par macro. La macro ci-dessous
ne fera que prendre en compte les paramètres utilisés au cours du
dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire
référence à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent
l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

'
**********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec l'extension
.ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
'
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la
macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
'
**********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème
















Avatar
papou
Ok Misange
Pas de souci, tu as raison il faut pouvoir tester de manière exhaustive.
Pour Rex, je vais voir si je peux le contacter sur un email perso.

Cordialement
Pascal


"Misange" a écrit dans le message de news:

Salut Papou
j'ai vu !
Peut être pourrais tu l'envoyer à Rex pour qu'il le teste et voie si c'est
encore nécessaire après cela qu'il saucissonne son classeur :-)
Cela dit, si tu n'y vois pas d'inconvénient, je vais
dé-macrocomplémentariser ton classeur : il est préférable à mon avis de
proposer une macro à tester, de façon à ce que ceux qui ont envie de
l'utiliser de façon régulière choisissent de la transformer en
macrocomplémentaire ensuite mais que ceux qui ne le souhaitent pas
puissent l'éliminer facilement.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange
Je viens de proposer un petit classeur (macro complémentaire) sur ton
site.
Des fois que ça pourrait être utile !

Cordialement
Pascal

"Misange" a écrit dans le message de news:
Ol$
tu peux utliser la page proposer un classeur d'excelabo pour me
l'envoyer. (tout est expliqué sur la façon de construire un classeur
exemple sur cette page)

Fais le surtout le plus léger possible : le but est juste d'illustrer
UNE fonction. Quand les classeurs contiennent des foultitudes de choses,
certes très utiles, cela complique considérablement la tache de celui
qui veut juste savoir comment faire 1 truc et qui ne comprends pas si le
reste lui est nécessaire ou pas. En l'occurrence ici, tu mets tes
explications dans la page d'accueil et tu ajoutes un bouton qui lance la
macro permettant d'imprimer en pdf en mettant le nom de la page comme
nom du fichier. Mais surtout ne mets pas tout ton classeur gérant tes
clients tes commandes et autres :-)
Si tu veux par la suite partager d'autres astuces super que tu as
développées (seul ou avec d'autres) tu peux le faire bien sur mais
surtout toujours avec le même principe : peu de questions à la fois et
donc des réponses simples et en nombre limité. Les classeurs du genre
"toutes mes meilleures astuces" servent à celui qui crée le classeur,
beaucoup moins à ceux qui le téléchargent et s'y perdent.

Merci :-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour

Il s'agit d'un fichier plutôt massive et dés qu'il sera fini
et que j'aurais fini un petit mode d'emploi je te le ferai parvenir

De préférence en ligne directe comme cela tu pourras décider de le
poster ou pas

A bientôt

Et bon week end

Rex ;-))) )))


"Misange" a écrit dans le message de news:

Salut Rex
OUi j'avais déjà archivé ton message :-)
Bonne idée que tu m'envoies un classeur exemple mettant en application
ce code !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour Misange

Je ne sais pas si tu as vu passer mon message "Réponse collective"

Je te mettais le code complet, mais il faudra sûrement le "nettoyer"
avant de le poster éventuellement

Et si cela t'intéresse je peux poster le fichier complet une fois
terminé

A mon avis d'ici une quinzaine

A bientôt et surtout

MERCI ET FELICITATIONS pour le boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:

merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif.
Rappel, XlWiki permet à tous ceux qui veulent partager leurs
connaissances d'écrire directement sans avoir besoin d'attendre mes
disponibilités d'éditrice. Pour ceux qui voudraient participer à
xlwiki et qui ne se seraient pas déjà enregistré, il faut me mettre
un mail : impossible de laisser l'accès libre, il y a UN crétin (un
seul hélas ça suffit) qui met le bazar. Il doit avoir un robot car
sitôt que j'essaie de débloquer l'accès (même après plusieurs
semaines de fermeture) il est à nouveau là. Y en a qui n'ont
vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il
donne accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à
utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro
utilisera celui utilisé au cours du dernier lancement en direct. Ce
fichier prend en compte des réglages de couleur, de compatibilité
avec les versions d'Acrobat Reader, de cryptage... Le choix se fait
un peu selon que l'on visualise le fichier à l'écran ou qu'on
l'imprime, car il y a une option de rotation ou non des pages en
paysage. Plus d'informations en lançant Acrobat Distiller lui-même
en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du
document, la modification, la sélection-copie du contenu, l'ajout
de commentaires, l'extraction de pages, l'assemblage de pages,
l'usage d'un mot de passe... On peut modifier ces paramètres en
lançant Acrobat Distiller en direct mais pas par macro. La macro
ci-dessous ne fera que prendre en compte les paramètres utilisés au
cours du dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire
référence à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent
l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

'
**********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' L'impression dans un fichier via l'imprimante Acrobat Distiller
' génère un fichier postscript. On nomme ce fichier avec
l'extension .ps
' (mais ça n'est pas obligatoire).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' Éventuellement cette conversion peut se dérouler en tâche de fond
' automatiquement pendant que la macro continue son exécution.

' Nécessite le référencement à Acrobat Distiller
'
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la
macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True,
collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
'
**********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème

















Avatar
Trirème
Bonjour LSteph,
(Sal*** d'interface pour les fils à rallonge :-( )


à ton avis est-ce qu'on pourrait ajouter plusieurs Pages (Feuilles )
au .PS
?
Ben en fait on imprime ce qu'on veut. Éventuellement plusieurs feuilles.

Perso, quand je fais :
WBFinal.PrintOut PrintToFile:=True, PrToFileName:=NomFichierPDF,
ActivePrinter:="Acrobat Distiller", Copies:=1, Collate:=True

où WBFinal est mon classeur... final, il est imprimé intégralement dans le
fichier en .PS, ou du moins les zones d'impression que j'ai créées.

Par contre si je n'ai pas bien compris le sens de ta question, et que tu
veux fusionner plusieurs PS ou PDF entre eux, je ne crois pas qu'Excel peut
faire ça. Il faudrait comprendre ce qu'il y a à l'intérieur d'un PostScript.
Et là il faudrait prolonger encore un peu cette discussion.

Tu devines sans doute l'idée qui me trotte...
Ben non :-~


Cordialement,
Trirème

3 4 5 6 7