Dolu007 | Bonjour,
Voici mon environnement :
Windows 7 pro 64 bits
Office 2010 32 bits
Outlook exchange
Pdf Creator
Prérequis : je ne maitrise que très peu le language vba
Je souhaite générer à partir d'une feuille excell, un fichier pdf avec un envoi d'email. J'ai trouvé le script ci-dessous, mais un message d'erreur arrive à la ligne ".send" Le fichier pdf est toutefois généré.
Message d'erreur :
Code :
- Erreur d'exécution '-2147220960 (80040220)'
- La valeur de configuration "SendUsing" est non valide.
|
J'ai passé 2 jours sur plusieurs forum à chercher une solution mais en vain...
Voici le code :
Code :
- ' http://sourceforge.net/projects/pdfcreator PDFCreator-0_9_3_GPLGhostscript.exe
- ' sous VBA Menu Outils | Références Cocher PDFCreator
- ' sous VBA Menu Outils | Références Cocher Microsoft CDO for Exchange xxxx Library
- Sub Tst_PdfCreator()
- Dim objMessage As CDO.Message
- Dim jobPDF As Object
- Dim sNomPDF As String
- Dim sCheminPDF As String
- sNomPDF = "Essai.pdf"
- sCheminPDF = ActiveWorkbook.Path & Application.PathSeparator
- 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
- jobPDF.cClose
- Set jobPDF = Nothing
-
- Set objMessage = CreateObject("CDO.Message" )
- With objMessage
- .Subject = "Essai"
- '.From = "qsdqssdsqdsq@qdsdsdsdqs.fr"
- .To = "qsdsqdqsd@qsdqsdqdqsd.fr"
- .TextBody = "Texte dans le corps de message"
- .AddAttachment sCheminPDF & sNomPDF
- .Send
- End With
-
- Set objMessage = Nothing
- End Sub
|
Message édité par Dolu007 le 06-06-2013 à 11:16:04 ---------------
L'affaire est dans le cul de l'âne, et l'âne il braie
|