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 :

Ouvrir un fichier pdf avec Access VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut Ouvrir un fichier pdf avec Access VBA
    bonjour,
    je sais bien qu'on a déjà parlé de ça dans de nombreuses discussions mais je viens de les lire toutes (si si !) et je n'ai toujours pas trouvé de réponse à mon problème...
    je voudrais ouvrir un pdf à partir d'Access, donc
    le nom du fichier se trouve dans une variable
    voici le code dans mon module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute Me.hwnd, "open", nomFich, "", CurrentProject.path, 1
    avec dans nom de fichier : "C:\documents and settings\fichier.pdf"

    à l'exécution je n'ai pas d'erreur mais il ne se passe rien ! rien de rien !

    Faut-il déclarer autre chose autre part ?? (API dans références... un truc comme ça ??)

    je sèche complet, ça fait 3 heures que je suis là-dessus
    please help !

    merci de votre aide

    Dom

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    salut,
    2 petites choses:
    - as-tu adobe en logiciel par défaut pour les pdf ?
    - lorsque tu lances le shellexecute, si tu fais ctrl alt sup, as-tu le process adobe de lancé ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    j'ai vérifié :
    j'ai bien adobe par défaut pour les pdf
    et non, je n'ai pas le process adobe après avoir lancé le shellexecute

    c'est grave docteur ??

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    1 - Ton code est dans un module, mets Public au lieu de Private.

    2 - L'appel de ce code est bien dans un formulaire ? As-tu un message d'erreur ?

    Starec

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    et avec ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute Me.hWnd, "open",  nomFich, "", vbNullString, 1
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    en fait la déclaration est déjà en public dans un module général
    l'appel se fait bien dans un formuliare oui, sur clic d'un bouton et je n'ai pas de message d'erreur
    il ne se passe rien tout simplement...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    jpcheck
    j'ai essayé ya suggestion, rien ne change...

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    starec, tu crois que ca pourrait venir du fichier dll ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    starec est déconnecté.... le méchant !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dflamme Voir le message
    starec est déconnecté.... le méchant !


    As-tu essayé avec un autre type de fichier Word, Excel, etc ... ?
    Car je ne vois pas, s'il n'y a pas de message d'erreur.

    Starec

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    hello starec, contente de te retrouver !!

    non je n'ai pas essayé mais je vais le faire immédiatement

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dflamme Voir le message
    hello starec, contente de te retrouver !!
    Tu sais, j'ai aussi un métier, il faut quand même que je gagne ma vie.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut

    ok dac !
    bon voici les dernières news :
    j'ai essayé avec un fichier word et ça marche !

    je n'avais pas la dernière version d'acrobat reader, j'ai fait installer la dernière mais que nenni, c'est pareil !

    je n'y comprends rien...

  14. #14
    Invité
    Invité(e)
    Par défaut
    Re

    Ok, si cela marche avec un fichier Word, cela signifie que ta syntaxe est correcte (c'est ce qu'il me semblait, mais je voulais en être sûr).

    A priori tu as bien Adobe par défaut pour les PDF. Est-ce que lorsque tu doubles-cliques sur un fichier PDF celui-ci s'ouvre correctement ? (en fait la fonction ShellExecute réalise cette opération).

    De plus à la place de CurrentProject.Path essaye de mettre l'endroit où se trouve ton fichier.

    Si cela ne marche toujours pas d'autres pistes

    A la place de Me.Hwnd mets Application.hWndAccessApp

    Si cela ne marche toujours pas essaye cela :

    Change le chiffre à la fin (cela va de 0 à 10)

    Si cela ne marche toujours pas essaye cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim Ret as Variant
    Ret = ShellExecute(.....)
    msgbox Ret
    et regarde le résultat, si tu as un chiffre comme cela :

    Les différentes valeurs et significations de ces codes d'erreur sont les suivantes:

    0 Le système manque de mémoire ou de ressources, l'exécutable est corrompu ou.réallocations non valides.
    2 Fichier non trouvé.
    3 Chemin non trouvé.
    5 Une tentative a été faite pour se lier dynamiquement à une tache, ou il y a eu une erreur de partage ou de protection réseau.
    6 La librairie requiert des segments de données séparés pour chaque tâche.
    8 Il n'y a pas assez de mémoire disponible pour lancer l'application.
    10 Version de Windows incorrecte.
    11 Le fichier executable n'est pas correct, il se peut que ce ne soit pas une application Windows, ou qu'il y ait une erreur dans le fichier .EXE;
    12 L'application a été conçue pour un autre système d'exploitation.
    13 L'application a été conçue pour MS-DOS 4.0.
    14 Le type de fichier executable est inconnu.
    15 Tentative de chargement d'une application en mode réel.
    16 Tentative de charger une seconde instance d'un fichier exécutable contenant plusieurs segments de données qui ne sont pas marqués en lecture seule.
    19 Tentative de charger un fichier exécutable compressé, le fichier doit être décompressé avant d'être chargé.
    20 Fichier de librairie liée dynamiquement (DLL) incorrect, une des DLLs requise pour exécuter cette application est corrompue.
    21 L'application requiert les extensions Microsoft Windows 32-bit.
    31 Il n'y a pas d'association le le type de fichier spécifié, ou il n'y a pas d'association pour l'action choisie pour le type de fichier choisi
    .

    Et si cela ne fonctionne toujours pas essaye de récupérer sur le net un lecteur de fichier PDF autre qu'Acrobat (il y'en a beaucoup de gratuits), et mets le pour ouverture par défaut. Si cela fonctionne cela viendrait de ton Acrobat Reader.

    Et si cela ne fonctionne toujours pas, il ne reste qu'une chose car là j'aurais épuisé toutes mes connaisssances.

    Starec

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    beaucoup de prendre tout ce temps pour mon petit problème
    je vais essayer tout ça et je te dis ce qu'il en est



    Dom

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    j'ai un début de réponse :

    les premières modifs que tu me suggères n'ont rien changé

    par contre, le fait de récupérer le résultat de shellexecute (fonction) m'a donné le code erreur 31 : pas d'association de type de fichier
    et effectivement, j'ai été obligée de faire l'association à la main après l'install de la nouvelle version d'acrobat tout à l'heure

    je mets la hot line locale sur le coup et je te tiens au courant

    encore merci pour ton aide

    Dom

  17. #17
    Invité
    Invité(e)
    Par défaut
    De rien

    Pour l'association tu l'as fait à partir des options des dossiers qui se trouve dans le panneau de configuration Windows ?

    Starec

  18. #18
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    J'vais p't'êt' dire une connerie mais pourquoi s'acharner sur un ShellExecute ?
    Pourquoi ne pas faire un simple Shell ?
    [Access] Les bases du débogage => ici

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Kloun Voir le message
    J'vais p't'êt' dire une connerie mais pourquoi s'acharner sur un ShellExecute ?
    Pourquoi ne pas faire un simple Shell ?
    L'avantage de l'API ShellExecute c'est que cela sera plus générique, par exemple tu veux ouvrir un fichier Excel, mais le post n'a pas Excel, mais OpenOffice, si le fichier Excel est aussi associé à OpenOffice cela fonctionnera, avec la fonction Shell, tu plantes.

    De plus si sur un poste une installation n'est pas conforme (chemin d'accés différents), pas de soucis avec ShellExecute, c'est comme si tu double-cliquait sur le fichier.

    Starec

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    oui à partir des options des dossiers
    et l'assoc existe bien, correcte et propre... malheureusement....

    kesqui pourrait faire que le shellexecute ne reconnait pas l'assoc ????

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Ouvrir un fichier PDF avec la navigateur
    Par Olivier Regnier dans le forum Langage
    Réponses: 8
    Dernier message: 16/08/2009, 13h52
  2. ouvrir un fichier PDF avec shellexecute
    Par lespetitspapiers dans le forum VBA Word
    Réponses: 10
    Dernier message: 29/10/2008, 22h38
  3. ouvrir un fichier PDF avec une JSP
    Par fernier dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/11/2007, 11h19
  4. Ouvrir un fichier word avec VBA Access
    Par alainb dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/10/2007, 21h57
  5. Ouvrir un fichier Pdf avec access
    Par willytito dans le forum Access
    Réponses: 1
    Dernier message: 13/08/2006, 19h37

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