Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2011, 14h18   #1
Nouveau Membre du Club
 
Homme François
Développeur informatique
Inscription : janvier 2010
Messages : 64
Détails du profil
Informations personnelles :
Nom : Homme François
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : janvier 2010
Messages : 64
Points : 34
Points : 34
Par défaut Utilisation de PDFCreator

Bonjour,
Je ne suis pas sur de l'opportunité de mon choix pour inscrire cette discussion, mais je n'ai pas trouvé mieux et j'accepterai les rodomontades avec humilité.

J'ai besoin d'envoyer par mail des etats imprimés à partir d'une application Access 2003. Ces états comportent une mise en page évoluée en ce sens que différents textes et tracés sont effectés à partir du code pendant les événement format, page et print de l'état ce qui empêche de les exporter directement à partir d'access car leur dégradation est trop forte.

Il m'a semblé qu'une bonne solution consistait à exporter l'état au format PDF puis à la joindre au mail en PJ.
Un tour approfondi du sujet a fixé mon choix sur le composant .COM de PDFCreator pour exporter mon état.

Après quelques essais tout semble bien fonctionner mais lorsque je fais appel à ma routine d'exportation répétitivement (pour envoyer différentes versions de l'état comme une facture à différents destinataires) au deuxième traitement l'appel de l'instruction OpenReport arrête l'exécution en cours - le programme n'est pas réinitialisé et tous les objets globaux sont toujours valides - simplement il n'y a aucune suite à l'exécution de cette instruction!

Pour mes tests j'ai inhibé la procédure d'envoi du mail.

Voici une extrait du code que j'utilise pour générer le .PDF :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
On Error Resume Next
Set ObjPDFCreator = GetObject(, "PDFCreator.clsPDFCreator")
If Err <> 0 Then
   On Error GoTo ErrPrintPDF
   Set ObjPDFCreator = CreateObject("PDFCreator.clsPDFCreator")
End If
On Error GoTo ErrPrintPDF
Set ObjPDFError = CreateObject("PDFCreator.clsPDFCreatorError")

With ObjPDFCreator
   .cStart "/NoProcessingAtStartup"
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = Dossier
   .cOption("AutosaveFilename") = NomFichier
   .cOption("AutosaveFormat") = 0                            ' 0 = PDF
   .cOption("PrintAfterSaving ") = 0                            ' 0 = PDF
   DefaultPrinter = .cDefaultPrinter
   .cDefaultPrinter = "PDFCreator"
   .cClearCache
   DoCmd.OpenReport NomEtat, acViewNormal
   .cPrinterStop = False
End With

c = 0

Do While (ObjPDFCreator.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
   c = c + 1
   Sleep 200
Loop

Txt = "Err1=" & ObjPDFError.Description
OutputFilename = ObjPDFCreator.cOutputFilename

With ObjPDFCreator
   .cDefaultPrinter = DefaultPrinter
   Sleep 200
   .cClose
End With

Txt = Txt & vbNewLine & "Err2=" & ObjPDFError.Description
Sleep 2000 ' Wait until PDFCreator is removed from memory

If OutputFilename = "" Then
   Erreur "Création du fichier PDF", "Une erreur imprévue est apparue"
   Txt = Txt & vbNewLine & "Err3=" & ObjPDFError.Description
Else
   PrintPDF = OutputFilename
End If

Set ObjPDFCreator = Nothing
Les connaisseurs verront que j'ai très largement utilisé les exemples circulants sur la toile mais j'ai vraissemblablement commis une erreur.

PS: merci de ne pas me rappeler que l'exportation de PDF est intégré depuis la version 2007: je n'ai pas le choix.
Depite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 15h16   #2
Nouveau Membre du Club
 
Homme François
Développeur informatique
Inscription : janvier 2010
Messages : 64
Détails du profil
Informations personnelles :
Nom : Homme François
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : janvier 2010
Messages : 64
Points : 34
Points : 34
Avec toutes mes excuses : le problème ne se situe pas du tout au niveau de PDFcreator mais tout simplement dans les données source de l'état.
Depite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h43.


 
 
 
 
Partenaires

Hébergement Web