Re : Ouverture de pdf par CommandButton sans chemin spécifique
re...
ben c'est une double recherche, d'abord on cherche AcroRD32.exe en limitant cette recherche au sous répertoire de C:\Program Files, une fois trouvé on déclare en variable le nom complet du fichier et on place cette variable dans stAppName.
J'ai ajouté deux controles : si la recherche d'Acrobat échoue un message apparait mentionnant l'absence d'installation d'acrobat, si la recherche du fichier échoue, un message apparait mentionnant l'absence du fichier dans la lettre du lecteur.
Dans les deux cas, on sort de la procédure
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error Resume Next
'recherche du chemin de AcroRD32.exe
ACRO = "AcroRD32.exe"
With Application.FileSearch
.NewSearch
.Filename = ACRO
.LookIn = "C:\Program Files\"
.SearchSubFolders = True
.Execute
If .Execute = 0 Then
Message = MsgBox("Acrobat reader n'est pas installé sur ce poste!!", vbExclamation, "Echec de la recherche"): Exit Sub
Else:
For Each A In .FoundFiles
resultat = A
[A1].Value = A
Next
End If
'recherche du fichier pdf
Dim stAppName As String
FICHIER = "toto.pdf"
LETTRE = "D:"
.NewSearch
.Filename = FICHIER
.LookIn = LETTRE
.SearchSubFolders = True
.Execute
If .Execute = 0 Then
Message = MsgBox("Le fichier " & FICHIER & " ne se trouve pas sur le disque " & LETTRE & " !!", vbExclamation, "Echec de la recherche"): Exit Sub
Exit Sub
Else
For Each F In .FoundFiles
stAppName = resultat & " /A page=7=OpenActions " & F
Call Shell(stAppName, 1)
Next
End If
End With
End Sub
En espérant que cela te convienne
a+