OVH Cloud OVH Cloud

comment lancer un fichier acrobat à partir du VBA d'excel

3 réponses
Avatar
Powaga Xavier
bonjour à tous,
voilà je souhaiterais lancer à partir du VBA, un fichier dont je connais le
nom, le chemin et l'extension. Pour mon cas il s'agit d'un fichier acrobat
mais à la limite cela devrait pouvoir s'appliquer à tous fichiers dont
l'extension est connu de windows.
j'ai essayé par l'instruction B=Shell (nomdufichier, 2) et ça me met un
message d'erreur (pour info nomdufichier="C:\temp\test.pdf" et ce fichier
existe bien entendu

Avez vous une solution ?

merci

3 réponses

Avatar
Jacques93
Bonjour Powaga Xavier,

Si tu utilises la fonction Shell de VBA, il faut indiquer le programme
(et éventuellement le chemin où se trouve le programme) à utiliser pour
ouvrir le fichier, pour un PDF par exemple avec Acrobat Reader 7.0 :

Shell "C:Program FilesAdobeAcrobat 7.0ReaderAcrord32.exe " & _
nomdufichier, 2


Si tu veux pouvoir ouvrir un document en fonction de l'association
extension/programme, utilises l'API ShellExecute, qui est l'équivalent
d'un double-click sur un fichier dans l'explorateur :


Private 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

Private Sub CommandButton1_Click()
Const SW_SHOWMAXIMIZED = 3

ShellExecute 0&, "open", nomdufichier, 0&, 0&, SW_SHOWMAXIMIZED
End Sub

bonjour à tous,
voilà je souhaiterais lancer à partir du VBA, un fichier dont je connais le
nom, le chemin et l'extension. Pour mon cas il s'agit d'un fichier acrobat
mais à la limite cela devrait pouvoir s'appliquer à tous fichiers dont
l'extension est connu de windows.
j'ai essayé par l'instruction B=Shell (nomdufichier, 2) et ça me met un
message d'erreur (pour info nomdufichier="C:temptest.pdf" et ce fichier
existe bien entendu

Avez vous une solution ?

merci





--
Cordialement,

Jacques.

Avatar
j
tu peux essayer
Shell "explorer C:temptest.pdf", vbNormalFocus

http://jacxl.free.fr



"Powaga Xavier" a écrit dans le message de news:
42ab2164$0$10577$
bonjour à tous,
voilà je souhaiterais lancer à partir du VBA, un fichier dont je connais
le

nom, le chemin et l'extension. Pour mon cas il s'agit d'un fichier acrobat
mais à la limite cela devrait pouvoir s'appliquer à tous fichiers dont
l'extension est connu de windows.
j'ai essayé par l'instruction B=Shell (nomdufichier, 2) et ça me met un
message d'erreur (pour info nomdufichier="C:temptest.pdf" et ce fichier
existe bien entendu

Avez vous une solution ?

merci




Avatar
Powaga Xavier
merci beaucoup j'ai testé les 2 solutions et ça marche du feu de dieu

"" a écrit dans le message de news:
42ab2744$0$13625$
tu peux essayer
Shell "explorer C:temptest.pdf", vbNormalFocus

http://jacxl.free.fr



"Powaga Xavier" a écrit dans le message de news:
42ab2164$0$10577$
bonjour à tous,
voilà je souhaiterais lancer à partir du VBA, un fichier dont je connais
le

nom, le chemin et l'extension. Pour mon cas il s'agit d'un fichier
acrobat
mais à la limite cela devrait pouvoir s'appliquer à tous fichiers dont
l'extension est connu de windows.
j'ai essayé par l'instruction B=Shell (nomdufichier, 2) et ça me met un
message d'erreur (pour info nomdufichier="C:temptest.pdf" et ce fichier
existe bien entendu

Avez vous une solution ?

merci