j'aimerai réaliser la meme chose que les barre de defilement de mon controle
webbrowser mais avec un controle : SpinButton ou un ScrollBar ....
en fait dans ma userform j'ai un webbrowser et je voudrai remplacé les barre
de défilement du webbrowser par mes propre controle .... je sais ca peu
paraitre absurde mais comme qui dirai .... j'ai mes raison !!! ;o))
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal Engelmajer
Salut, pas vraiment précis comme question. de toute façon le controle pour le webbrowser n'est pas WebBrowser mais DHTML Control Edit afin de pouvoir bidouiller sur les évènement du document... Attention au restriction de droits en ligne... Le reste est une question de patience .. Un exemple tiré d'un fil avec Michel Pierron, le spécialiste de ce genre de trucs, pour donner des pistes ...
avec usr1.html sans évènement mais avec des ID pour usage en VBA //=============================================== Private Sub UserForm_Initialize() Me.DHTMLEdit1.BrowseMode = True Me.DHTMLEdit1.LoadURL "usr1.html" Me.DHTMLEdit1.ActivateActiveXControls = True End Sub Private Sub DHTMLEdit1_onclick() With Me.DHTMLEdit1.DOM Select Case .activeElement.ID Case "saisie" 'ID .activeElement.Value = "" Case "btnOK" 'ID ThisWorkbook.Sheets(1).Range("A1").Value =.all.Item("saisie").Value Unload Me Case "btnCancel" 'ID Unload Me End Select End With End Sub
Private Sub DHTMLEdit1_onmouseover() With Me.DHTMLEdit1.DOM Select Case .parentWindow.event.srcElement.ID Case "btnOK" .all.Item("btnOK").Style.Color = "red" If .all.Item("saisie").Value = "" Then .parentWindow.execScript ("fs()") End If Case "btnCancel" .all.Item("btnCancel").Style.Color = "red" End Select End With End Sub Private Sub DHTMLEdit1_onmouseout() With Me.DHTMLEdit1.DOM Select Case .parentWindow.event.srcElement.ID Case "btnOK" .all.Item("btnOK").Style.Color = "green" Case "btnCancel" .all.Item("btnCancel").Style.Color = "green" End Select End With End Sub
============================ usr1.html <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> userform ie bis</title> </head> <body style="background-color: #99FFCC; color: #336600"> <h2 id=test>Saisie d'un texte</h2> <span id=temoin valueúlse></span> <hr> <input type=password id=saisie style="background-color: #CCFFFF; color: #FF3300" onFocus="this.value=true" value=''> saisir votre mot de passe </div> <hr> <button id=btnOK style="color: green">validation</button> <button id=btnCancel style="color: green">abandon</button> </body> <script> //ie6 requis var oPopup = window.createPopup(); var oPopBody = oPopup.document.body; function fs(){ if (saisie.value==''){ oPopBody.style.backgroundColor='yellow'; oPopBody.innerHTML = "Attention !!! <br> vous n'avez pas saisi de mot de passe."; oPopup.show(100,150,180,40, document.body); } } </script> </html>
============================ Dans ton cas il suffit d'intercepter les évènements de Scrolling du navigateur (document.body.onscroll) à l'aide de Private Sub DHTMLEdit1_onscroll() pour les annuler, de créer un controle adéquat en VBA et de scroller le document HTML en utilisant window.pageYOffset, window.pageYOffset, document.body.scrollTop, window.scrollBy(x, y) pour le vertical par exemple
bon courage -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Orel" <pub[nospam]@owel.fr.st> a écrit dans le message de news: #
bonjour a tous !
j'aimerai réaliser la meme chose que les barre de defilement de mon controle
webbrowser mais avec un controle : SpinButton ou un ScrollBar ....
en fait dans ma userform j'ai un webbrowser et je voudrai remplacé les barre
de défilement du webbrowser par mes propre controle .... je sais ca peu paraitre absurde mais comme qui dirai .... j'ai mes raison !!! ;o))
Comment faire ??
merci orel
Salut,
pas vraiment précis comme question.
de toute façon le controle pour le webbrowser n'est pas WebBrowser mais
DHTML Control Edit afin de pouvoir bidouiller sur les évènement du
document...
Attention au restriction de droits en ligne...
Le reste est une question de patience ..
Un exemple tiré d'un fil avec Michel Pierron, le spécialiste de ce genre de
trucs, pour donner des pistes ...
avec usr1.html sans évènement mais avec des ID pour usage en VBA
//=============================================== Private Sub UserForm_Initialize()
Me.DHTMLEdit1.BrowseMode = True
Me.DHTMLEdit1.LoadURL "usr1.html"
Me.DHTMLEdit1.ActivateActiveXControls = True
End Sub
Private Sub DHTMLEdit1_onclick()
With Me.DHTMLEdit1.DOM
Select Case .activeElement.ID
Case "saisie" 'ID
.activeElement.Value = ""
Case "btnOK" 'ID
ThisWorkbook.Sheets(1).Range("A1").Value
=.all.Item("saisie").Value
Unload Me
Case "btnCancel" 'ID
Unload Me
End Select
End With
End Sub
Private Sub DHTMLEdit1_onmouseover()
With Me.DHTMLEdit1.DOM
Select Case .parentWindow.event.srcElement.ID
Case "btnOK"
.all.Item("btnOK").Style.Color = "red"
If .all.Item("saisie").Value = "" Then
.parentWindow.execScript ("fs()")
End If
Case "btnCancel"
.all.Item("btnCancel").Style.Color = "red"
End Select
End With
End Sub
Private Sub DHTMLEdit1_onmouseout()
With Me.DHTMLEdit1.DOM
Select Case .parentWindow.event.srcElement.ID
Case "btnOK"
.all.Item("btnOK").Style.Color = "green"
Case "btnCancel"
.all.Item("btnCancel").Style.Color = "green"
End Select
End With
End Sub
============================ usr1.html
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> userform ie bis</title>
</head>
<body style="background-color: #99FFCC; color: #336600">
<h2 id=test>Saisie d'un texte</h2>
<span id=temoin valueúlse></span>
<hr>
<input type=password id=saisie style="background-color: #CCFFFF; color:
#FF3300" onFocus="this.value=true" value=''>
saisir votre mot de passe
</div>
<hr>
<button id=btnOK style="color: green">validation</button>
<button id=btnCancel style="color: green">abandon</button>
</body>
<script>
//ie6 requis
var oPopup = window.createPopup();
var oPopBody = oPopup.document.body;
function fs(){
if (saisie.value==''){
oPopBody.style.backgroundColor='yellow';
oPopBody.innerHTML = "Attention !!! <br> vous n'avez pas saisi de mot de
passe.";
oPopup.show(100,150,180,40, document.body);
}
}
</script>
</html>
============================ Dans ton cas il suffit d'intercepter les évènements de Scrolling du
navigateur (document.body.onscroll) à l'aide de
Private Sub DHTMLEdit1_onscroll()
pour les annuler,
de créer un controle adéquat en VBA et de scroller le document HTML
en utilisant
window.pageYOffset,
window.pageYOffset,
document.body.scrollTop,
window.scrollBy(x, y)
pour le vertical par exemple
bon courage
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Orel" <pub[nospam]@owel.fr.st> a écrit dans le message de news:
#XP339n2DHA.3140@tk2msftngp13.phx.gbl...
bonjour a tous !
j'aimerai réaliser la meme chose que les barre de defilement de mon
controle
webbrowser mais avec un controle : SpinButton ou un ScrollBar ....
en fait dans ma userform j'ai un webbrowser et je voudrai remplacé les
barre
de défilement du webbrowser par mes propre controle .... je sais ca peu
paraitre absurde mais comme qui dirai .... j'ai mes raison !!! ;o))
Salut, pas vraiment précis comme question. de toute façon le controle pour le webbrowser n'est pas WebBrowser mais DHTML Control Edit afin de pouvoir bidouiller sur les évènement du document... Attention au restriction de droits en ligne... Le reste est une question de patience .. Un exemple tiré d'un fil avec Michel Pierron, le spécialiste de ce genre de trucs, pour donner des pistes ...
avec usr1.html sans évènement mais avec des ID pour usage en VBA //=============================================== Private Sub UserForm_Initialize() Me.DHTMLEdit1.BrowseMode = True Me.DHTMLEdit1.LoadURL "usr1.html" Me.DHTMLEdit1.ActivateActiveXControls = True End Sub Private Sub DHTMLEdit1_onclick() With Me.DHTMLEdit1.DOM Select Case .activeElement.ID Case "saisie" 'ID .activeElement.Value = "" Case "btnOK" 'ID ThisWorkbook.Sheets(1).Range("A1").Value =.all.Item("saisie").Value Unload Me Case "btnCancel" 'ID Unload Me End Select End With End Sub
Private Sub DHTMLEdit1_onmouseover() With Me.DHTMLEdit1.DOM Select Case .parentWindow.event.srcElement.ID Case "btnOK" .all.Item("btnOK").Style.Color = "red" If .all.Item("saisie").Value = "" Then .parentWindow.execScript ("fs()") End If Case "btnCancel" .all.Item("btnCancel").Style.Color = "red" End Select End With End Sub Private Sub DHTMLEdit1_onmouseout() With Me.DHTMLEdit1.DOM Select Case .parentWindow.event.srcElement.ID Case "btnOK" .all.Item("btnOK").Style.Color = "green" Case "btnCancel" .all.Item("btnCancel").Style.Color = "green" End Select End With End Sub
============================ usr1.html <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> userform ie bis</title> </head> <body style="background-color: #99FFCC; color: #336600"> <h2 id=test>Saisie d'un texte</h2> <span id=temoin valueúlse></span> <hr> <input type=password id=saisie style="background-color: #CCFFFF; color: #FF3300" onFocus="this.value=true" value=''> saisir votre mot de passe </div> <hr> <button id=btnOK style="color: green">validation</button> <button id=btnCancel style="color: green">abandon</button> </body> <script> //ie6 requis var oPopup = window.createPopup(); var oPopBody = oPopup.document.body; function fs(){ if (saisie.value==''){ oPopBody.style.backgroundColor='yellow'; oPopBody.innerHTML = "Attention !!! <br> vous n'avez pas saisi de mot de passe."; oPopup.show(100,150,180,40, document.body); } } </script> </html>
============================ Dans ton cas il suffit d'intercepter les évènements de Scrolling du navigateur (document.body.onscroll) à l'aide de Private Sub DHTMLEdit1_onscroll() pour les annuler, de créer un controle adéquat en VBA et de scroller le document HTML en utilisant window.pageYOffset, window.pageYOffset, document.body.scrollTop, window.scrollBy(x, y) pour le vertical par exemple
bon courage -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Orel" <pub[nospam]@owel.fr.st> a écrit dans le message de news: #
bonjour a tous !
j'aimerai réaliser la meme chose que les barre de defilement de mon controle
webbrowser mais avec un controle : SpinButton ou un ScrollBar ....
en fait dans ma userform j'ai un webbrowser et je voudrai remplacé les barre
de défilement du webbrowser par mes propre controle .... je sais ca peu paraitre absurde mais comme qui dirai .... j'ai mes raison !!! ;o))