Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010
-
9 juil. 2007 à 10:05
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010
-
10 juil. 2007 à 09:37
Bonjour,
Je voudrais ouvrir un fichier pdf.
Alors j'explique. Je l'avais fait avec excel et en fait je préfère utiliser des fiches pdf.
Toutes les fiches sont dans un répertoire D:.....\Fiches Matières
Voilà ce que j'ai programmé:
Dim i As Variant
Dim nuance As String
i = 0
For i = 0 To 20
If UsfRésultats.ListBox2.Selected(i) = True Then
nuance = UsfRésultats.ListBox2.List(i)
Shell "C:\Program Files\...\AcroRd32.exe" + " " + "D:\...\Fiches Matières\nuance.pdf"
Exit For
End If
Next i
Donc en fait, "nuance" change en fonction de ce que l'utilisateur choisi. C'est une chaine de caractère et elle correspond aux noms de mes pdf.
Je voudrais donc que la fiche nuance.pdf s'ouvre.
Alors quand je mets un fichier pdf précis ça marche mais quand je mets la variable "nuance", acrobate s'ouvre mais me dit que le fichier est introuvable.
Pourquoi
Si vous pouvez m'aider...
Merci!
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 10 juil. 2007 à 08:52
Hello,
Heuu je n'ai pas cette erreur chez moi essaye de mettre un public devant la déclaration du ShellExecute.
Lors de l'appel tu peux essayer aussi en mettant ShellExecute 0, "open", Fichier, vbNullString, Chemin, 1
Avant l'appel à la fonction tu peux également faire un MsgBox de la variable fichier pour vérifier que tu récupères un chaîne correcte..
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010 9 juil. 2007 à 10:41
J'ai mis:
Shell ("C:\Program Files\...\AcroRd32.exe" + " " + "D:\....\Fiches Matières\&nuance&.pdf")
et ça marche toujours pas!! ca me mrque toujours la meme erreur! et si je mets
Shell ("C:\Program Files\...\AcroRd32.exe" + " " + "D:\....\Fiches Matières"&nuance&".pdf")
ca me le prend pas!
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 9 juil. 2007 à 11:08
Re,
Sinon tu peux utiliser la fonction shellexecute qui a l'avantage de ne pas être obligé de connaître le chemin d'acrobat reader :
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
Dim nuance As String, Fichier As String
Chemin="C:\monpath"
nuance = "tondoc.pdf"
Fichier = Chemin & nuance
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010 9 juil. 2007 à 11:36
Voilà!!! ayéé!!! j'ai trouvé la solution.
Dim i As Variant
Dim nuance As String
programme = "C:\Program Files...\AcroRd32.exe"
dossier = "D:\...\Fiches Matières"
i = 0
For i = 0 To 20
If UsfRésultats.ListBox2.Selected(i) = True Then
nuance = UsfRésultats.ListBox2.List(i)
Shell (programme + " " + dossier + nuance + ".pdf")
Exit For
End If
Next i
Merci de votre aide. Meme si j'ai pas fait exactement pareil ça m'a bien aidé!
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 9 juil. 2007 à 13:02
Oui, il faut faire la déclaration dans un module comme ceci :
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
Et dans le code tu appelles ensuite ta fonction avec les différentes chaînes initialisées :
Dim nuance As String, Fichier As String
Chemin="C:\monpath"
nuance = "tondoc.pdf"
Fichier = Chemin & nuance
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 décembre 2010 9 juil. 2007 à 13:49
Donc dans module 1 j'ai mis
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
dans mon code j'ai mis:
Dim nuance As String, Fichier As String
Chemin = "D:\...\Fiches Matières"
nuance = "100Cr6.pdf"
Fichier = Chemin & nuance