OVH Cloud OVH Cloud

Excel pour ouvrir un Pdf

1 réponse
Avatar
EliotNaiss
Bonjour à tous,
Je desire ouvrir par instruction vba, un document pdf.
J'ai essayé de reprendre une aide de michdenis ce qui donne ceci :
'Lieu du fichier texte
fFilename1 = Environ("USERPROFILE") + "\Mes
documents\oasis\MonDoc.doc"

Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word (Fichier.doc) mais gere si le doc est
absent, auqual cas on referme word
On Error GoTo Erreur
Set DocWord = AppWord.Documents.Open(fFilename1, ReadOnly:=True)
Exit Sub
Erreur:
AppWord.Application.Quit
retour = MsgBox("Erreur Fatale !!" & Chr(13) & "Le fichier est
inconnu ou introuvable à l'endroit habituel !" & Chr(13) & "Vérifiez et
reprenez plus tard !", vbCritical + vbOKOnly, "Fichier ou Chemin
introuvable.")

Je n'arrive pas à arranger cela pour effectuer l'ouvreture de MonDoc.pdf;
j'ai cherché à modifier le Word.Document en Acrobat.Document (ou un truc
dans ce genre !!)
ps: je viens de trouver ceci :
'Lieu du fichier texte
fFilename1 = Environ("USERPROFILE") + "\Mes
documents\oasis\Evaluation de stage CRF.pdf"
On Error GoTo Erreur1
AppActivate Shell("C:\Program Files\Adobe\Acrobat
7.0\Reader\AcroRd32.exe " & fFilename1, vbNormalFocus)
Exit Sub
Erreur1:
retour = MsgBox("Erreur Fatale !!" & Chr(13) & "Le fichier est
inconnu ou introuvable à l'endroit habituel !" & Chr(13) & "Vérifiez et
reprenez plus tard !", vbCritical + vbOKOnly, "Fichier ou Chemin
introuvable.")

Cela fonctionne en saisissant le chemin complet l'AcrobatReader, mais je
doute que toutes les machines sur lesquelles je vais installer ma petite
application, aient cette version de Reader, donc l'exécutable pas au même
endroit !!
Il existe peut-etre un moyen de dépister l'appli Acrobat et de situer
l'exécutable ????

Merci par avance.
Eliot

1 réponse

Avatar
MichDenis
Chemin et nom de l'exécutable à adapter selon
la version installée sur ton ordi.

'------------------------------
Sub test()

Dim Executable As String
Dim Fichier As String
Executable = "C:Program FilesAdobeAcrobat 7.0ReaderAcroRd32.exe"
Fichier = "C:MonFichier.pdf"

Shell "" & Executable & " " & Fichier & "", vbMaximizedFocus
End Sub
'------------------------------




"EliotNaiss" a écrit dans le message de news:

Bonjour à tous,
Je desire ouvrir par instruction vba, un document pdf.
J'ai essayé de reprendre une aide de michdenis ce qui donne ceci :
'Lieu du fichier texte
fFilename1 = Environ("USERPROFILE") + "Mes
documentsoasisMonDoc.doc"

Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word (Fichier.doc) mais gere si le doc est
absent, auqual cas on referme word
On Error GoTo Erreur
Set DocWord = AppWord.Documents.Open(fFilename1, ReadOnly:=True)
Exit Sub
Erreur:
AppWord.Application.Quit
retour = MsgBox("Erreur Fatale !!" & Chr(13) & "Le fichier est
inconnu ou introuvable à l'endroit habituel !" & Chr(13) & "Vérifiez et
reprenez plus tard !", vbCritical + vbOKOnly, "Fichier ou Chemin
introuvable.")

Je n'arrive pas à arranger cela pour effectuer l'ouvreture de MonDoc.pdf;
j'ai cherché à modifier le Word.Document en Acrobat.Document (ou un truc
dans ce genre !!)
ps: je viens de trouver ceci :
'Lieu du fichier texte
fFilename1 = Environ("USERPROFILE") + "Mes
documentsoasisEvaluation de stage CRF.pdf"
On Error GoTo Erreur1
AppActivate Shell("C:Program FilesAdobeAcrobat
7.0ReaderAcroRd32.exe " & fFilename1, vbNormalFocus)
Exit Sub
Erreur1:
retour = MsgBox("Erreur Fatale !!" & Chr(13) & "Le fichier est
inconnu ou introuvable à l'endroit habituel !" & Chr(13) & "Vérifiez et
reprenez plus tard !", vbCritical + vbOKOnly, "Fichier ou Chemin
introuvable.")

Cela fonctionne en saisissant le chemin complet l'AcrobatReader, mais je
doute que toutes les machines sur lesquelles je vais installer ma petite
application, aient cette version de Reader, donc l'exécutable pas au même
endroit !!
Il existe peut-etre un moyen de dépister l'appli Acrobat et de situer
l'exécutable ????

Merci par avance.
Eliot