Ouvir un fichier PDF

Résolu
ddh74 Messages postés 34 Statut Membre -  
ddh74 Messages postés 34 Statut Membre -
Bonjour à tous

j'essaie d'ouvrir un fichier pdf avec un code récupéré sur ce site, mais la fonction shellExecute ne marche pas. J'ai cru comprendre qu'il fallait la déclarer dans un module, mais comment.
Merci pour votre aide

13 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Excel, access, ou ...... ?????
    0
  2. ddh74 Messages postés 34 Statut Membre
     
    Access 2010
    0
  3. ddh74 Messages postés 34 Statut Membre
     
    Bonjour

    j'utilise access 2010
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Ouvrir la fenetre VBA de votre fichier access, placez le curseur souris dans la fenetre projet (en haut a gauche), click droit souris, insertion, module et mettez votre declaration d'API shellexecute
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ddh74 Messages postés 34 Statut Membre
     
    Merci pour cette information, mais qu elle code je doit entré
    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Dans le code que vous avez recupere, il y a une declaration d'API shellexecute et surement un exemple d'ouverture de fichier.
    API:
    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

    ligne de code pour ouvrir le fichier, dans le code formulaire:
    ex:
    Private Sub Commande7_Click
    hwndSim = ShellExecute(0&, "open", Application.Currentproject.Path & "\nom du fichier", "", Application.Currentproject.Path, 1)
    end sub
    0
  8. ddh74 Messages postés 34 Statut Membre
     
    Voici mon code mais lorsque je clique sur le bouton rien ne ce pas

    Private Sub C194_Click()

    Dim Chemin, Fichier, Absolu As String

    Absolu = "C:\Users\Christian\Documents\Documents ScanSoft\1 Christian\2013\05"

    Fichier = "10513001"
    'On ne continue que si un fichier a été sélectionné.
    If Fichier <> "" Then

    'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
    Chemin = Absolu & Fichier & ".pdf"

    'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.
    ShellExecute Me.hWnd, vbNullString, Chemin, "", vbNullString, 1

    Else
    MsgBox "Aucun fichier sélectionné"
    End If

    End Sub
    0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Faut pas melanger!!!

    Private Sub C194_Click()
    
        Dim Chemin, Fichier, Absolu As String
    
        Absolu = "C:\Users\Christian\Documents\Documents ScanSoft\1 Christian\2013\05\"
    
        Fichier = "10513001"
        
        'On ne continue que si un fichier a été sélectionné.
        If Fichier <> "" Then
    
            'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
            Chemin = Absolu & Fichier & ".pdf"
    
            'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.
            
            'Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" _
            (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, _
            lpDirectory As Any, ByVal nShowCmd As Long) As Long
            ' va avec:
            'hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin, 0, 0, 1)
            '-------------------------------------------------------------------
            '-------------------------------------------------------------------
            '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
            ' va avec:
            hwndSim = ShellExecute(0&, "open", Chemin, "", Chemin, 1)
        Else
            MsgBox "Aucun fichier sélectionné"
        End If
    
    
    End Sub


    A+
    0
  10. ddh74 Messages postés 34 Statut Membre
     
    Un grand merci pour cette aide si précieuse. Maintenant le code marche parfaitement. Pourtant, une dernière petite question, est-il possible de faire la recherche dans tous les sous répertoires de "Documents ScanSoft"
    0
  11. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    quel est le but de la recherche ??
    0
  12. ddh74 Messages postés 34 Statut Membre
     
    Les documents que je veux ouvrir, sont des factures qui sont rangées dans différents sous répertoires du répertoire "Documents ScanSoft"

    Dim Chemin, Fichier, Absolu, hwndSim As String

    Absolu = "C:\Users\Christian\Documents\Documents ScanSoft\1 Christian\2013\05\"

    Fichier = [Forms]![Sav recherche]![sfmRecherche].[Form]![N°Facture]

    'On ne continue que si un fichier a été sélectionné.

    If Fichier <> "" Then

    'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
    Chemin = Absolu & Fichier & ".pdf"

    'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.

    hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin, 0, 0, 1)

    Else

    MsgBox "Aucun fichier sélectionné"

    End If
    0
  13. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Choix sous repertoires:

    Sub test1()
        Dim Chemin, Fichier, Absolu, hwndSim As String
    
        Absolu = "C:\Users\Christian\Documents\Documents ScanSoft\"
        Fichier = [Forms]![Sav recherche]![sfmRecherche].[Form]![N°Facture]
        'On ne continue que si un fichier a été sélectionné.
        If Fichier <> "" Then
            'choix sous-sous repertoire
            Set oShell = CreateObject("Shell.Application")
            Set oFolder = oShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&, Absolu)
            If oFolder Is Nothing Then
                MsgBox "Abandon opérateur", vbCritical
            Else
                'Association des chemins absolu et relatif pour obtenir le chemin complet vers le fichier.
                Set oFolderItem = oFolder.Self
                Chemin = oFolderItem.Path & "\" & Fichier & ".pdf"
                'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.
                hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin, 0, 0, 1)
            End If
        Else
            MsgBox "Aucun fichier sélectionné"
        End If
    End Sub


    A+
    0
  14. ddh74 Messages postés 34 Statut Membre
     
    Un grand merci pour toute cette aide
    0