Ouvir un fichier PDF

Résolu
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. Bonjour,

    Excel, access, ou ...... ?????
    0
    1. Bonjour

      j'utilise access 2010
      0
      1. 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
        1. Merci pour cette information, mais qu elle code je doit entré
          0
          1. 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
            1. 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
              1. 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
                1. 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
                  1. Re,

                    quel est le but de la recherche ??
                    0
                    1. 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
                      1. 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
                        1. Un grand merci pour toute cette aide
                          0

                          Discussions similaires

                          question pix mot caché

                          7 réponses