PDF Architect

Claudy

XLDnaute Accro
Bonjour,
j'utilisais PDT creator dans une macro (voir ci dessous)
J'ai eu un bug et j'ai installé PDF Architect.
Comment adapter mon code ci dessous, sachant que le but de la macro est d'envoyer en pièce jointe la zone d'impression sous format .pdf, par mail à plusieurs personnes.
Merci d'avance,
Claudy



' sous VBA Menu Outils | Références Cocher PDFCreator
' Cocher Microsoft CDO for Exchange xxxx Library

Sub EnvoiMailPDFCREator()
Dim objMessage As CDO.Message
Dim JobPDF As Object
Dim sNomPDF As String
Dim sCheminPDF As String
'

sNomPDF = "Résultats zaza.pdf"
sCheminPDF = ActiveWorkbook.Path & Application.PathSeparator
If Range("L8") = 0 Then
commentaire = "zazazaza..."
Else
commentaire = "Félicitations."
End If

If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub

Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")

With JobPDF
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sCheminPDF
.cOption("AutosaveFilename") = sNomPDF

' 0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
.cOption("AutosaveFormat") = 0

.cClearCache
End With

ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"

'Fichier dans la file d'attente
Do Until JobPDF.cCountOfPrintjobs = 1
DoEvents
Loop
JobPDF.cPrinterStop = False

'Attendre que la file d'attente soit vide
Do Until JobPDF.cCountOfPrintjobs = 0
DoEvents
Loop

Do Until Dir(sCheminPDF & sNomPDF) <> ""
DoEvents
Loop

JobPDF.cClose
Set JobPDF = Nothing
'etc etc etc....et là j'envoie par mail....
 

bruno66

XLDnaute Occasionnel
Re : PDF Architect

bonjour, vous avez un souci de chemin , vous devez modifer votre code VBA puisque vous n'utilisé plus PDF creator pour cerrer votre document a la place de PDF creator mettez le chemin de PDF ARCHITECT et faite un essais en vous envoyant perso un e mail ..
par contre arrivez vous avant cela a créer sans souci votre document avec imprimer sélection PDF ARCHITECT sans souci
a vous lire
 

Claudy

XLDnaute Accro
Re : PDF Architect

Bonjour Misange ...
mes bons souvenirs d'excellabo....
Merci , me suis trompé: suis en office 2007! mais effectivement on peut travailler avec et enregistrer en .pdf aussi!
Mais comment enregistrer en .pdf la zone à imprimer, et envoyer par mail?
Merci d'avance pour un petit bout de code!
A+
Claudy
 

Claudy

XLDnaute Accro
Re : PDF Architect

Bonsoir ...
et avec enregistreur macro, j'obtiens ceci: (sans parler envoi par mail)

Sub Macro1()
'
' Macro1 Macro
'

'
ActiveSheet.PageSetup.PrintArea = "$A$4:$K$22"
Application.ActivePrinter = "PDFCreator sur Ne00:"
ExecuteExcel4Macro _
"PRINT(1,,,1,,,,,,,,2,""PDFCreator sur Ne00:"",,TRUE,,FALSE)"
Application.Goto Reference:="Macro1"
End Sub
 

Misange

XLDnaute Barbatruc
Re : PDF Architect

bjr Misange....peut être Midemon aujourd'hui une remarque aussi en passant il est sous excel 2007 dans son profil.... peut être pour cela a t-il poser une question aussi
bon journée sans rancune

Télécharger PDFCreator a le reinstaller aussi si il le fallait

Bonjour Bruno
Claudy peut très bien être être sous 2007 et poser une question pour une autre version. Il pourrait par exemple être sous une version au boulot et une autre à la maison.
De toute façon, l'enregistrement sous pdf est disponible depuis excel 2007, du moment que le sp1 est installé ce qui est plus que recommandé, le sp1 corrigeant plusieurs bugs gênants.

Je comprends mal ton "sans rancune..."
 

Modeste geedee

XLDnaute Barbatruc
Re : PDF Architect

Bonsour®
Bonsoir ...
et avec enregistreur macro, j'obtiens ceci: (sans parler envoi par mail)

Sub Macro1()
'
' Macro1 Macro
'
' ActiveSheet.PageSetup.PrintArea = "$A$4:$K$22"
Application.ActivePrinter = "PDFCreator sur Ne00:"
ExecuteExcel4Macro _
"PRINT(1,,,1,,,,,,,,2,""PDFCreator sur Ne00:"",,TRUE,,FALSE)"
Application.Goto Reference:="Macro1"
End Sub

:rolleyes:
de toute façon une imprimante PDF est une imprimante "virtuelle"

de 2 choses l'une :
soit PDFCreator,
' sous VBA Menu Outils | Références Cocher PDFCreator
Application.ActivePrinter = "PDFCreator sur Ne00:"
etc ...

soit PDFArchitect
' sous VBA Menu Outils | Références Cocher PDFArchitect
Application.ActivePrinter = "PDFArchitect sur Ne00:"
etc...

par ailleurs :confused:
J'ai eu un bug

sans plus d'information, pourquoi ne pas réinstaller Windows pendant qu'on y est ???
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 699
Membres
103 372
dernier inscrit
BibiCh