{Access} pb d'ouverture d'un pdf depuis 1 liste dé
maatma
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Débutant sous access, j'ai créé une base de données dans laquelle j'ai des listes déroulantes avec des noms de documents. (ces documents sont tous classés dans le même dossier). Je souhaiterai pouvoir ouvrir ces documents en cliquant sur un bouton une fois le document selectionné ds la liste déroulante. Voici ce que j'ai fais :
Private Sub Commande4_Click()
Dim Chemin, Fichier, Prog, ret, Absolu As String
Absolu = "C:\Documents PDF\Documents\"
Fichier = Me.Form(ListeChoix)
'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"
Prog = "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe"
'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.
ret = Shell(Prog, 1) & ret = Shell(Chemin, 1)
Else
MsgBox "Aucun fichier sélectionné"
End If
End Sub
Le problème c'est que ça ne marche pas, ça m'ouvre juste Adobe sans le fichier séléctionné et ca me met un message d'erreur : "Erreur d'execution 5" Argument ou appel de procédure incorrect"
Merci pour votre aide !
Débutant sous access, j'ai créé une base de données dans laquelle j'ai des listes déroulantes avec des noms de documents. (ces documents sont tous classés dans le même dossier). Je souhaiterai pouvoir ouvrir ces documents en cliquant sur un bouton une fois le document selectionné ds la liste déroulante. Voici ce que j'ai fais :
Private Sub Commande4_Click()
Dim Chemin, Fichier, Prog, ret, Absolu As String
Absolu = "C:\Documents PDF\Documents\"
Fichier = Me.Form(ListeChoix)
'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"
Prog = "C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe"
'Execution du fichier situé à l'emplacement "Chemin" avec son programme par défaut.
ret = Shell(Prog, 1) & ret = Shell(Chemin, 1)
Else
MsgBox "Aucun fichier sélectionné"
End If
End Sub
Le problème c'est que ça ne marche pas, ça m'ouvre juste Adobe sans le fichier séléctionné et ca me met un message d'erreur : "Erreur d'execution 5" Argument ou appel de procédure incorrect"
Merci pour votre aide !
A voir également:
- {Access} pb d'ouverture d'un pdf depuis 1 liste dé
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Liste déroulante excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Liste déroulante en cascade - Guide
2 réponses
Salut,
pourquoi appelles-tu deux shell ? C'est la cause de ton erreur, je pense.
Si l'extension .pdf est bien enregistrée au niveau windows, tu ne devrais avoir besoin que du nom complet du document.
As-tu essayé ret = shell(chemin,1) ?
Sinon, il faut concaténer le nom du programme et le document, AVANT de faire un shell (mais toujours un seul, hein ?!)
pourquoi appelles-tu deux shell ? C'est la cause de ton erreur, je pense.
Si l'extension .pdf est bien enregistrée au niveau windows, tu ne devrais avoir besoin que du nom complet du document.
As-tu essayé ret = shell(chemin,1) ?
Sinon, il faut concaténer le nom du programme et le document, AVANT de faire un shell (mais toujours un seul, hein ?!)
D'accord avec blux : tu dois au préalable concaténer ton exécutable et ton fichier à ouvrir.
Attention : l'utilisation des guillemets est indispensable pour éviter les merdes si l'un des deux chemins contient des espaces.
Il faut donc concaténer ainsi :
LigneCommandeShell = chr(34) & prog & chr(34) & " " & chr(34) & chemin & chr(34)
Shell LigneCommandeShell
Attention : l'utilisation des guillemets est indispensable pour éviter les merdes si l'un des deux chemins contient des espaces.
Il faut donc concaténer ainsi :
LigneCommandeShell = chr(34) & prog & chr(34) & " " & chr(34) & chemin & chr(34)
Shell LigneCommandeShell