Ouvrir un fichier Pdf dans le contrôle WebBrowser

10 réponses
Avatar
Nicolas
Bonjour =C3=A0 tous,

je souhaiterais pouvoir visualiser dans le contr=C3=B4le webbrowser [B] de =
mon userform un ficher pdf, que je s=C3=A9lectionnerais directement en doub=
le-clicant sur lui, depuis un autre contr=C3=B4le webbrowser [A], du m=C3=
=AAme userform, qui me sert "d'explorateur de windows".

Je contourne le probl=C3=A8me en utilisant une listbox qui contient tous le=
s fichiers pdf du dossier actif visible dans mon webbrowser [A].

En effet, actuellement, si je double-clic sur un fichier Pdf du webbrowser =
[A], celui-ci s'ouvre avec mon lecteur Pdf par d=C3=A9faut.

Merci d'avance pour votre aide.

=C3=80 bient=C3=B4t

Nicolas

10 réponses

Avatar
Michd
Bonjour,
Exemple de code, pas tester...
Voici l'exemple pris à cette adresse :
https://www.excel-downloads.com/threads/visualisation-dun-doc-pdf-dans-le-webbrowser-de-mon-userform.88439/
Dim WithEvents cible As SHDocVw.WebBrowser_V1
'------------------------------------------------------------------------
Private Sub cible_NewWindow(ByVal URL As String, _
ByVal Flags As Long, ByVal TargetFrameName As String, _
PostData As Variant, ByVal Headers As String, Processed As Boolean)
Processed = True
WebBrowser1.Navigate URL
End Sub
'------------------------------------------------------------------------
Private Sub UserForm_Initialize()
'source : [url=http://www.kbalertz.com/kb_185538.aspx]KBAlertz.com: (185538) - When hosting the
Internet Explorer 4.x or later WebBrowser control in a Visual Basic application, you may want to
have the navigation always occur in your application and not other Internet Explorer windows. If you
handle the[/url]
Set cible = WebBrowser1
WebBrowser1.Navigate2 ThisWorkbook.Path & "MonDoc.pdf"
End Sub
'------------------------------------------------------------------------
MichD
Avatar
Nicolas
Bonsoir MichD,
merci pour ta réponse. Lors de mes recherches sur le web pour rés oudre mon problème, j'étais "tombé" sur ce code.
Mon souci est que je ne le comprends pas très bien, et je ne sais pas comment il peut résoudre mon problème.
Je vais tâcher de charger un fichier qui illustre ma question.
Merci encore pour ton temps
À bientôt,
Nicolas
Avatar
Michd
Bonjour,
Ceci est suffisant pour charger un fichier Pdf dans un Web Browser
A ) Tu as ajouté dans la boîte d'outils du formulaire ce contrôle supplémentaire "Microsoft Web
Browser" en le cochant.
B ) Tu as dessiné (ajouté) ce contrôle au formulaire.
C ) Dans mon exemple, j'ai sur le formulaire un bouton de commande nommée : "CmdPDF"
Adapte le chemin du fichier "URL" à ouvrir. Il ne te reste plus qu'à cliquer sur le bouton.
'------------------------------------------------------
Private Sub CmdPDF_Click()
Dim URL As String
URL = "c:zzzzBM001 - Henri Vernes - La Vallee Infernale.pdf"
Me.WebBrowser1.Navigate2 URL
End Sub
'------------------------------------------------------
MichD
Avatar
Nicolas
Bonsoir,
merci encore pour ton aide MichD,
Mon problème n'est pas tant de charger le pdf sur mon contrôle We bBrowser "B", mais plutôt de le faire depuis un autre contrôle We bBrowser "A" qui fait office "d'Explorateur de Windows".
Depuis le contrôle Webbrowser "A", je navigue d'un dossier à un a utre et dès que je visualise le ficher pdf qui m'intéresse, je do uble-clic sur lui, mais il s'ouvre alors avec Firefox (mon lecteur de pdf p ar défaut). Alors que je souhaiterais le visualiser sur mon autre cont rôle Webbrowser "B".
Je joins un exemple afin d'illustrer ma problématique.
https://www.cjoint.com/c/HJwwNMSsXbX
À bientôt
Nicolas
Avatar
Michd
Bonjour Nicolas,
Sur Excel 2016,
Regarde l'image jointe, dans le rectangle du bas s'affiche les fichiers PDF du répertoire. Lorsque
je sélectionne un fichier, ce dernier s'affiche correctement. Qu'est-ce qui ne fonctionne pas?
https://www.cjoint.com/c/HJxknSPElSb
MichD
"Nicolas" a écrit dans le message de groupe de discussion :
Bonsoir,
merci encore pour ton aide MichD,
Mon problème n'est pas tant de charger le pdf sur mon contrôle WebBrowser "B", mais plutôt de le
faire depuis un autre contrôle WebBrowser "A" qui fait office "d'Explorateur de Windows".
Depuis le contrôle Webbrowser "A", je navigue d'un dossier à un autre et dès que je visualise le
ficher pdf qui m'intéresse, je double-clic sur lui, mais il s'ouvre alors avec Firefox (mon lecteur
de pdf par défaut). Alors que je souhaiterais le visualiser sur mon autre contrôle Webbrowser "B".
Je joins un exemple afin d'illustrer ma problématique.
https://www.cjoint.com/c/HJwwNMSsXbX
À bientôt
Nicolas
Avatar
Brat'ac
Le mardi 23/10/2018 Michd a écrit :
Bonjour Nicolas,
Sur Excel 2016,
Regarde l'image jointe, dans le rectangle du bas s'affiche les fichiers PDF
du répertoire. Lorsque je sélectionne un fichier, ce dernier s'affiche
correctement. Qu'est-ce qui ne fonctionne pas?
https://www.cjoint.com/c/HJxknSPElSb
MichD

Juste pour info, chez moi aussi c'est bon. (Excel 2007)
Avatar
Nicolas
Bonjour,
chez moi aussi cela fonctionne bien mais je souhaiterais pouvoir supprimer ma listbox, et sélectionner directement un pdf depuis le webbrowser su périeur gauche pour le visualiser sur la fenêtre de droite.
¿est-ce possible?
À bientôt
Nicolas
Avatar
Michd
Voici un petit exemple sur ce qu’il est possible de faire :
https://www.cjoint.com/c/HJxorVd4Fzi
MichD
"Nicolas" a écrit dans le message de groupe de discussion :
Bonjour,
chez moi aussi cela fonctionne bien mais je souhaiterais pouvoir supprimer ma listbox, et
sélectionner directement un pdf depuis le webbrowser supérieur gauche pour le visualiser sur la
fenêtre de droite.
¿est-ce possible?
À bientôt
Nicolas
Avatar
Michd
| L'idéal dans mon cas, serait une procédure qui détecte l'évènement "clic" sur le web browser et
m'informe ainsi de l'URL du fichier sélectionné.
Justement un tel événement n'existe pas avec ce contrôle. C'est là la difficulté! Il y a cependant
une manière d'extraire la sélection du webbrowser, je n'ai pas beaucoup travaillé avec ce contrôle.
MichD
Avatar
Nicolas
Merci beaucoup MichD
A bientôt
Nicolas