clique sur WebBrowser dans usf

Z

zeltron

Guest
Bonjour à tout le forum.

J'ai une image Gif animée dans un userform grâce à un webbrowser

Ce que je souhaite c'est pouvoir fermer le usf en cliquant sur mon image gif.
J'ai essayé le code suivant:

Sub webbrowser1_click()
Unload me

En Sub

Mais rien ne se passe, je n'arrive pas à cliquer, sur mon image gif. Y a t il une solution? Est il possble de cliquer sur un webbrowser?

Merci d'avance pour votre aide

Cordialement

Zeltron
 

MichelXld

XLDnaute Barbatruc
bonjour

cet exemple permet d'intercepter l'evenement 'Clic' dans le WebBrowser . j'espere que ça pourra t'aider

il faut prealablement activer la referece 'Microsoft Html Object Library'
dans l'editeur de macro
Menu Outils
References
coche la ligne Microsoft Html Object Library
clique sur OK pour valider



Option Explicit

Dim WithEvents maPageHtml As HTMLDocument

Private Sub UserForm_Initialize()
WebBrowser1.Navigate 'C:\\\\\\\\monimage.gif'
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Set maPageHtml = WebBrowser1.Document
End Sub

Private Function maPageHtml_onclick() As Boolean
Unload Me
End Function

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _
URL As Variant, Flags As Variant, TargetFrameName As Variant, _
PostData As Variant, Headers As Variant, Cancel As Boolean)
Set maPageHtml = Nothing
End Sub



bon apres midi
MichelXld
 
Z

zeltron

Guest
Merci beaucoup Michel pour ton aide,

mais la j'ai un problème, j'essaie d'utiliser ton code mais cela ne fonctionne pas.
Voici le code de mon userform:

Private Sub UserForm_Initialize()
Dim S As String
Dim SS As String
Dim SSS As String
Dim Hauteur As Long, Largeur As Long


Largeur = WebBrowser1.Width * 96 / 72
Hauteur = WebBrowser1.Height * 96 / 72


S = 'C:\\AJOUT.gif'
SS = 'C:\\cacheajout.bmp'
SSS = 'C:\\EXIT.gif'
WebBrowser1.Navigate _
'ABOUT:<IMG WIDTH=' & _
Largeur & ' HEIGHT=' & Hauteur & _
' SRC='' & S & '''
WebBrowser2.Navigate _
'ABOUT:<IMG WIDTH=' & _
Largeur & ' HEIGHT=' & Hauteur & _
' SRC='' & SS & '''
WebBrowser3.Navigate _
'ABOUT:<IMG WIDTH=' & _
Largeur & ' HEIGHT=' & Hauteur & _
' SRC='' & SSS & '''
End Sub

Lorsque que j'essaie d'y integrer ton code: il me pose probleme au niveau de :
Dim WithEvents maPageHtml As HTMLDocument

Comment dois je integrer ton code? je souhaite cliquer sur les webbrowser3 pour fermer mon usf

Merci d'avance pour ton aide.

Cordialement

Zeltron
 
Z

zeltron

Guest
Merci beaucoup pour ton aide Michel, çà marche super!!!!

Dernière question que je me pose, si j'installe mon fichier sur un ordinateur dont l'utilisateur n'a pas coché 'Microsoft Html Object Library '

Puis je activer cela à l'ouverture de mon fichier, avec un code du type:

Private Sub Workbook_Open()

Microsoft Html Object Library = True

End sub

Je viens d'essayer, mais cela ne fonctionne pas?
Comment puis je faire???

Merci d'avance

Cordialement

Zeltron
 

MichelXld

XLDnaute Barbatruc
rebonjour

normalement tu n'as pas besoin de réactiver la référence si tu utilises le meme classeur sur un autre poste ( à condition bien entendu que l'objet soit installé sur le PC)


sinon pour activer la reference par macro tu peux utiliser

ThisWorkbook.VBProject.References.AddFromFile 'C:\\\\\\\\WINDOWS\\\\\\\\System32\\\\\\\\MSHTML.TLB'

...mais il faut connaitre le chemin


bon week end
MichelXld

Message édité par: michelxld, à: 03/02/2006 22:19
 
Z

zeltron

Guest
Michel, quand tu dis:
'normalement tu n'as pas besoin de réactiver la référence si tu utilises le meme classeur sur un
autre poste '; cela signifie que lorsque l'on vas activer des objets dans outils/references, de VBA, cela concerne le classeur en question, donc pas besoin de se preoccuper du fait de savoir si l'utilisateur à 'cocher 'cet objet ou non.Ok
Cependant, je ne comprends ce que tu dis lorsque tu met: 'à condition bien entendu que l'objet soit installé sur le PC', si sur le pc en question, il y a excel, l'objet 'Microsoft Html Object Library ' y est,non?

Zeltron
 

MichelXld

XLDnaute Barbatruc
rebonsoir

j'ai édité mon précédent message car en fait je voulais indiquer la librairie 'MSHTML.TLB'

je peux me tromper mais à mon avis la librairie Microsoft Html Object Library ('MSHTML.TLB') est plutot fournie avec Internet Explorer
Cette libraire va permettre de piloter les objets à l'interieur du WebBrowser et aussi de détecter les evenements à l'interieur du WebBrowser


bonne soirée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 487
Membres
103 558
dernier inscrit
Lamine ABIDI