Ouverture de liens associé à l'application AcroRd32

isa44

XLDnaute Occasionnel
Bonsoir , je n'arrive pas a ouvrir mes liens PDF , j'ai un message d'erreur " Aucune application n'est associée a ce fichier "

Pourtant le lien est écrit ainsi :

Code:
E:\DOCS PDF\PDF\nt_048-D_200465.pdf

Mais j'arrive a ouvrir le fichier à partir de son emplacement.

Qu'est ce que c'est que schmilblick ?
 

kiki29

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Salut, voir à tout hasard la pj, pour paramétrage ?

sinon qqch comme
Code:
Option Explicit

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 Const SW_SHOWNORMAL = 1

Sub Tst()
Dim sFichier As String, hwnd As Long
    sFichier = "C:\Faq\Faq VBA\Exemples\PDF\PdfCreator\Essai.pdf"
    ShellExecute hwnd, "Open", sFichier, 0&, 0&, SW_SHOWNORMAL
End Sub
 

Pièces jointes

  • IMG260.jpg
    IMG260.jpg
    115.7 KB · Affichages: 37

isa44

XLDnaute Occasionnel
Re : Ouverture de liens associé à l'application AcroRd32

A priori le lien trouve le fichier mais pas l'application PDF pour l'ouvrir.
J'ai une quantité de liens en colonne C qui renvoie à divers fichiers PDF. Y aurait il une solution pour imposer l'ouverture de ces liens avec Adobe Reader et sans avoir le message d'avertissement sur le risque d'ouverture de certains fichiers ?
 

kiki29

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

re, donc qqch comme
Code:
Option Explicit

Sub Tst()
Dim sFichier As String, WsShell As Object
    sFichier = "C:\Faq\Faq VBA\Exemples\PDF\PdfCreator\essai.pdf"
    Set WsShell = CreateObject("WScript.Shell")
    WsShell.Run "AcroRD32 " & sFichier
    Set WsShell = Nothing
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Re

kiki29
Quand tu dis ici, tu veux dire sur ton PC ou dans le cas présent

car isa44 nous disait plus bas
Mais j'arrive a ouvrir le fichier à partir de son emplacement.

PS1: Moi aussi je teste mes codes (cf ceux du fil que je cite) et avec Excel 2003 et XP
le WsShell.Run sFichier
fonctionne.

PS2: Tu n'avais pas un site jadis dans ta signature où l'on pouvait découvrir tes productions ?
(je parle d'un autre site que developpez.com)
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Salut,
PS1 : Testé sur mon PC ( XP, 2003 Reader 11.0.9 ) mais
Code:
 WsShell.Run sFichier
génère le message d'erreur suivant : La méthode 'Run' de l'objet 'IWshShell3' a échoué.

PS2 : Peut-être mais avec une limitation à 200 caractères de "Modifier votre signature", à l'une des mises à jour cela a sauté, maintenant ce lien conduit à un fichier xls avec des liens pointant sur la liste à jour de ma contribution Excel/Acrobat/PDFCreator ainsi que des téléchargements ( Excel/VB6/Delphi ). Mais il faut un compte pour pouvoir télécharger quoi que ce soit.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Bonjour à tous


kiki29
Ces deux codes fonctionnent sur ce PC
(XP- + XL 2003 + Acrobat Reader 9.5.5 )
Code:
Sub a()
Dim nomfich$
nomfich = "c:\temp\test.pdf"
CreateObject("WScript.Shell").Run nomfich
End Sub
Code:
Sub b()
Dim nomfich$, objWS As Object
nomfich = "c:\temp\test.pdf"
Set objWS = CreateObject("WScript.Shell")
objWS.Run nomfich
End Sub

EDITION: Comme ce message d'erreur m'intrigue, j'ai cherché sur le net quelques infos, et je vous mets en lien ce message à propos des erreurs qui intéressera peut-être des xldnautes qui utilisent vbscript dans VBA.
https://social.msdn.microsoft.com/F...n-of-object-iwshshell3-failed?forum=scripting

PS3: Mon PS2 avait simplement pour but de mettre à jour mes bookmarks.
(et de m'éviter de retrouver ton site dans mon trop volumineux historique)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Bonjour à tous


isa44
Si le chemin de ton fichier est celui de ton premier message, alors essaie la macro ci-dessous
et lances la macro pour ouvrir le PDF.
Code:
Sub OuvrirPDF()
Dim nomfichier$
nomfichier="E:\DOCS PDF\PDF\nt_048-D_200465.pdf"
CreateObject("WScript.Shell").Run nomfichier
End Sub
 

MJ13

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Bonjour à tous

Sinon, on peut utiliser le shell classique:

Code:
Shell("Nom de l'exe avec chemin [B]Espace[/B] Nom du fichier avec le chemin")

Exemple:

Code:
Sub Ouvre_PDF()
'Shell ("C:\Program Files\Tracker Software\PDF-XChange Viewer\pdf-viewer\PDFXCview.exe " & ActiveCell.Value)
Shell ("C:\Program Files\Tracker Software\PDF-XChange Viewer\pdf-viewer\PDFXCview.exe c:\Temp\Test.PDF")
End Sub

Alt+F8 pour lancer la macro :).
 

Staple1600

XLDnaute Barbatruc
Re : Ouverture de liens associé à l'application AcroRd32

Bonjour MJ13

isa44 utilise AcrobatReader (soit AcroRD32)
Toi tu utilises PDFXCview.exe

isa44 ne va plus s'y retrouver ;)

L'avantage de WScript.Shell c'est qu'on a pas besoin de connaitre le chemin de l'application qui ouvre le type de fichier par défaut (ici les PDF)

VB:
Sub Wshell()
Shell ("C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe c:\temp\test.pdf")
'le pdf ne s'affiche pas au premier plan
End Sub
VB:
Sub aWSShell()
CreateObject("WScript.Shell").Run "c:\temp\test.pdf"
'le pdf s'affiche au premier plan
End Sub



 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin