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 - aller sur une page en particulier


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Ouvrir un fichier pdf - aller sur une page en particulier
    Bonjour

    je vous sollicite afin de vous demande envoyer de l'aide car je rencontre un prolème dans mon programme

    mon programme est le suivant:



    voici le code pour la déclaration de la fonction shellexecute !!




    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
    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
    ' --- DECLARATION API WINDOWS
    Private Declare Function ShellExecute _
      Lib "shell32.dll" _
      Alias "ShellExecuteA" ( _
        ByVal hWnd As Long, ByVal lpOperation As String, _
        ByVal lpFile As String, ByVal lpszParams As String, ByVal lpParameters As String, _
        ByVal lpDirectory As String, ByVal nShowCmd As Long) _
      As Long
     
      '
    Public Function ShellExec( _
      ByVal strFichier As String, _
      Optional ByVal strOperation As String = "Open", _
      Optional ByVal strszParams As String = "/A page=pagenum", _
      Optional ByVal awsAffichage As VbAppWinStyle = VbAppWinStyle.vbNormalFocus, _
      Optional ByVal strParametres As String = "", _
      Optional ByVal strDossier As String = "") _
      As Boolean
     
      Dim lngRes As Long
      lngRes = ShellExecute(Access.hWndAccessApp, strOperation, _
        strFichier, strParametres, strDossier, strszParams, awsAffichage)
     
      ShellExec = (lngRes < 0) Or (lngRes > 32)
    End Function
     
     
    Private Sub btn_pdf_Click()
    Dim Chemin As String
    Dim Fichier As String
    'On ne continue que si un fichier a été sélectionné.
    If Me.txt_pdf.Value <> "" Then
        Fichier = Me.txt_pdf.Value
    'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
    Chemin = CurrentProject.Path & "\Réf trémie et porte P4\" & Fichier & ".pdf"
    'Affichage de la page concernée
    MsgBox ("La trémie est renseignée à la page " & Me.txt_page.Value & " du PDF.")
    'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.
    ShellExec (Chemin)
    Else
    MsgBox "Aucun fichier sélectionné"
    End If
    lors de l'ouverture du fichier PDF je n'arrive pas à acceder directement à la page (le PDF est ouvert à la page 1)
    Merci pour votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Apprendre
    Inscrit en
    Avril 2012
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 147
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Solution peu élégante, mais fonctionnelle, à tester parce que je passe par le shell, l'idée, c'est d'utiliser la fonction sendkeys:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Chemin As String
    ' Chemin du PDF
    Chemin = "C:...doc.pdf"
     
     'Ouvrir le dossier correspondant au répertoire indiqué
    Shell "explorer " & Chemin, vbNormalFocus
     
    ' Focus
    SendKeys Chemin
     
    ' Aller au début du fichier
    SendKeys "{Home}"
    ' Passer à l'autre page
    SendKeys "{PGDN}"
    Il y a surement un moyen de faire mieux, mais en version courte, je me suis arrêté là, appelé le nombre de PGDN suffisant pour atteindre la page désirée

    merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/02/2010, 11h49
  2. [XL-2007] ouvrir un fichier PDF à partir d'une liste
    Par croky23 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/09/2009, 15h53
  3. [XL-2003] Faire mise à jour fichier excel stocké sur une page web
    Par fidecourt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/04/2009, 17h12
  4. ouvrir un document pdf à partir d'une page web
    Par wided_instm dans le forum Langage
    Réponses: 2
    Dernier message: 11/12/2006, 12h47

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