IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Export d'un état en Pdf (tuto cafeine) [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 54
    Points
    54
    Par défaut Export d'un état en Pdf (tuto cafeine)
    Bonjour

    J'ai besoin d'exporter un état ACCESS en pdf, j'ai donc trouvé ce tutoriel de Charles A. (ou cafeine). mais j'ai un problème à l'appel de la fonction Sub ScanPDFfiles():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ScanPDFfiles()
    ' traitement des fichiers en file d'attente
     
    Dim strPath As String, currFile As String
    Dim rec As DAO.Recordset
    Dim fso As New FileSystemObject
    Dim intCount As Integer
    Il me dit "Type défini par l'utilisateur non défini" et surligne cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim fso As New FileSystemObject
    Pou info, voici mon code d'appel de la fonction getPDF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub print_Click()
        Dim str As String
        str = Forms!formentrepot.entrepot.Column(1) & " warehouse Scorecard : week " & txtsemaine.Value
     
        MEP = MsgBox("Do you want to print " & str & " ?", vbOKCancel, "Print warehouse scorecard")
        If MEP = 1 Then
            'DoCmd.OpenReport "pageprinc", acViewPreview, , , , str
            getPDF ("pageprinc")
        Else
            Exit Sub
        End If
     
    '    Reports("pageprinc").titre = str
    '    getPDF ("pageprinc")
     
     
    End Sub
    C'est peut-être un problème de référence non définie ? Personnellement je ne vois pas laquelle çà pourrait être.

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 653
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 653
    Points : 34 367
    Points
    34 367
    Par défaut
    salut,
    il s'agit de la référence Microsoft Scripting Runtime qui doit etre cochée

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 54
    Points
    54
    Par défaut
    Merci jpcheck

    çà marche, et le processus va un peu plus loin, mais malheureusement, une erreur survient avec une boîte de dialogue dont le message d'erreur est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3270 - Propriété non trouvée
    le débogueur ne se lance pas.

    Si tu vois d'où çà peut venir, çà me dépannera, mais je crois que je vais laisser tomber cette solution d'automatisation.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 54
    Points
    54
    Par défaut
    J'ai trouvé finalement une solution beaucoup plus simple pour imprimer mon état en pdf. Je n'utilise que 2 fonctions du code de Cafeine : SwitchDefaultPrinter et GetDefaultPrinter, pour modifier l'imprimante par défaut, puis j'ouvre l'état en mode normal, ce qui revient à lancer une impression sur l'imprimante virtuelle PdfCreator. Quand tout est fini, je re-switche sur l'ancienne imprimante par défaut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub print_Click()
        Dim strOldPrinter As String
        Dim str As String
     
        strOldPrinter = GetDefaultPrinter
        SwitchDefaultPrinter "PDFCreator"
     
        str = Forms!formentrepot.entrepot.Column(1) & " warehouse Scorecard : week " & txtsemaine.Value
     
        MEP = MsgBox("Do you want to print " & str & " ?", vbOKCancel, "Print warehouse scorecard")
        If MEP = 1 Then
            DoCmd.OpenReport "pageprinc", acViewNormal, , , , str
        Else
            Exit Sub
        End If
        SwitchDefaultPrinter strOldPrinter
    End Sub
    Si l'on veut générer un fichier, il suffit de paramétrer l'option "auto-save" de PdfCreator.

    Et voilà le travail !
    Puisse celà servir à d'autres, c'est mon seul souhait.

    et merci à jpcheck d'avoir consacré un peu de temps à ce post.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tache batch d'export d'un état en PDF
    Par jerome80 dans le forum SAGE
    Réponses: 2
    Dernier message: 04/06/2012, 11h48
  2. [AC-2003] Exportation automatique d'état en PDF
    Par L.Lemarchand dans le forum VBA Access
    Réponses: 9
    Dernier message: 12/05/2010, 17h09
  3. Exportation d'un état en PDF
    Par pasuperbon dans le forum Access
    Réponses: 13
    Dernier message: 11/01/2007, 18h08
  4. Exporter un État en pdf ?
    Par gaupiche dans le forum IHM
    Réponses: 2
    Dernier message: 22/05/2006, 17h11
  5. pdf tuto cafeine
    Par Davik dans le forum Access
    Réponses: 5
    Dernier message: 12/04/2006, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo