VB avec toutes les versions d'adobe reader

ZXRR91

XLDnaute Nouveau
Bonjour,
Je suis en panne sèche et ne trouve comment faire pour ouvrir un document pdf (via une commande décrite ci-desous) mais...
Mon impératif est de ne pas avoir a me soucier de quelle version Adobe reader (6, 9, 10.0...) est installé sur les PC ou la feuille sera utilisée.
Pour le moment celà fonctionne avec une version figée d'Adore reader, laquelle n'est pas forcémment celle installée sur les autres PC:

Sub Ouvrir_cluf_shell()
'
If MsgBox("Ouvrir le CLUF", vbYesNo) = vbNo Then
Exit Sub
Else
End If
Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe C:\CQ\blob.pdf", vbNormalFocus
End Sub

merci
 
G

Guest

Guest
Re : VB avec toutes les versions d'adobe reader

Bonjour et bienvenue sur le forum,

dans un module général:
Code:
Option Explicit
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" ( _
            ByVal lpFile As String, _
            ByVal lpDirectory As String, _
            ByVal lpResult As String) As Long
Private Const MAX_FILENAME_LEN = 260
 
Function TrouveExecutable(FileFullName As String) As String
    Dim hdl As Long
    Dim Buffer As String
   Buffer = String(MAX_FILENAME_LEN, 32)
   hdl = FindExecutable(FileFullName, vbNullString, Buffer) '
   If hdl > 32 Then
       TrouveExecutable = Left(Buffer, InStr(Buffer, Chr$(0)) - 1)
   End If
End Function

Utilisation:
Code:
CheminExec=TrouveExecutable("C:\CQ\blob.pdf")

Nb: ne fonctionne pas sous les versions 64 bits de windows.
A+
 

Statistiques des forums

Discussions
312 214
Messages
2 086 309
Membres
103 174
dernier inscrit
OBUTT