Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1300 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBS] un bouton dans un iframe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBS] un bouton dans un iframe

n°1729454
madmartiga​n
Desperate Houseman
Posté le 07-05-2008 à 12:36:16  profilanswer
 

Salut
 
Dans un Script VBS, j'appèle une fenêtre IE

Set objExplorer = Wscript.CreateObject("InternetExplorer.Application", "IE_" )


Dans cette fenêtre IE, je crée 3 Frames
 

objExplorer.document.getElementById("FrameHeader" ).contentWindow.document.body.innerHTML = HTMLHeader
objExplorer.document.getElementById("FrameMenu" ).contentWindow.document.body.innerHTML = HTMLMenu
objExplorer.document.getElementById("FrameContent" ).contentWindow.document.body.innerHTML = HTMLContent


 
Dans un des Frames, je positionne mes boutons
 

HTMLMenu = HTMLMenu & "<input id=Test1 type=" & CHR(34) & "button" & CHR(34) & " value=" & CHR(34) & "Click on Me" & CHR(34) & " onClick=Bouton1>"
objExplorer.document.getElementById("FrameMenu" ).contentWindow.document.body.innerHTML = HTMLMenu


et bien sur ...

Sub Bouton1()
 msgbox "quelqu'un a cliqué sur le bouton !"
End Sub


et pis voilà ...
la fenêtre s'affiche, les frames sont remplies ...
les boutons sont visibles ... mais ne déclenchent rien :(
 
Pas Glop  :cry:  
 
Quelqu'un a une idée ?


Message édité par madmartigan le 07-05-2008 à 12:37:20

---------------
Mieux vaut fermer sa gueule et passer pour un con, plutot que de l'ouvrir, et montrer qu'on l'est...
mood
Publicité
Posté le 07-05-2008 à 12:36:16  profilanswer
 

n°1729457
FlorentG
Unité de Masse
Posté le 07-05-2008 à 12:38:29  profilanswer
 

Elle squatte où ta Sub Bouton1() ? On peut au moins lier un VBS externe à une page ? [:johneh] Ca me semble bizarre. Faudrait que la Sub soit dans la page, dans un <script>

Message cité 1 fois
Message édité par FlorentG le 07-05-2008 à 12:38:52
n°1729461
madmartiga​n
Desperate Houseman
Posté le 07-05-2008 à 13:01:54  profilanswer
 

FlorentG a écrit :

Elle squatte où ta Sub Bouton1() ? On peut au moins lier un VBS externe à une page ? [:johneh] Ca me semble bizarre. Faudrait que la Sub soit dans la page, dans un <script>


C'est justement ce que je veux éviter ...
 
Toute la partie HTML doit être générée dynamiquement, et le code se trouver a l'extérieur...
 
voici le code complet :
 

strCurrentPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "" )
 HTMLHeader = "<img src=" & strCurrentPath & "TOP.GIF WIDTH=100%>"
 HTMLMenu = "Ici bientot les menus"
 HTMLContent = "Resultats des fonctions"
 
 strBaseHtml = ""
 strBaseHtml = strBaseHtml & "<HTML><HEAD></HEAD>"
 strBaseHtml = strBaseHtml & "<IFRAME NAME=FrameHeader WIDTH=100% ></IFRAME>"
 strBaseHtml = strBaseHtml & "<IFRAME NAME=FrameMenu  WIDTH=300 ></IFRAME>"
 strBaseHtml = strBaseHtml & "<IFRAME NAME=FrameContent ></IFRAME>"
 strBaseHtml = strBaseHtml & "</HTML>"
 
 
Set objExplorer = Wscript.CreateObject("InternetExplorer.Application", "IE_" )
 objExplorer.Navigate "about:blank"
 objExplorer.ToolBar = 0
 objExplorer.StatusBar = 0
 objExplorer.Width = 1024
 objExplorer.Height = 768
 objExplorer.Left = 0
 objExplorer.Top = 0
 objExplorer.Visible = 1
 objExplorer.Document.Body.InnerHTML = strBaseHtml
 objExplorer.document.getElementById("FrameHeader" ).contentWindow.document.body.innerHTML = HTMLHeader
 objExplorer.document.getElementById("FrameMenu" ).contentWindow.document.body.innerHTML = HTMLMenu
 objExplorer.document.getElementById("FrameContent" ).contentWindow.document.body.innerHTML = HTMLContent
 
HTMLMenu = ""
HTMLMenu = HTMLMenu & "<INPUT TYPE=BUTTON NAME=CMD1 VALUE=testbutton1 ONCLICK=AddNewPc></BR>"
HTMLMenu = HTMLMenu & "<INPUT TYPE=BUTTON NAME=CMD2 VALUE=testbutton2></BR>"
HTMLMenu = HTMLMenu & "<INPUT TYPE=BUTTON NAME=CMD3 VALUE=testbutton3></BR>"
 
HTMLMenu = HTMLMenu & "<input id=Test1 type=" & CHR(34) & "button" & CHR(34) & " value=" & CHR(34) & "Clic on Me" & CHR(34) & " onClick=Button1>"
 
objExplorer.document.getElementById("FrameMenu" ).contentWindow.document.body.innerHTML = HTMLMenu
 
Sub Button1()
 msgbox "quelqu'un a cliqué sur le bouton !"
End Sub

Message cité 1 fois
Message édité par madmartigan le 07-05-2008 à 13:02:19

---------------
Mieux vaut fermer sa gueule et passer pour un con, plutot que de l'ouvrir, et montrer qu'on l'est...
n°1729492
FlorentG
Unité de Masse
Posté le 07-05-2008 à 13:44:14  profilanswer
 

madmartigan a écrit :

Toute la partie HTML doit être générée dynamiquement, et le code se trouver a l'extérieur...


Pour des raisons de sécurité, je crois qu'on ne peut "appeller" un script comme ça sans qu'il soit dans le code HTML. Il faut mettre ta fonction Bouton1 dans un autre fichier, et l'appeller explicitement dans l'HTML. Avec une simple balise script. T'aura donc deux fichiers :
 
script.vbs

Code :
  1. strCurrentPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "" )
  2. HTMLHeader = "<img src=" & strCurrentPath & "TOP.GIF WIDTH=100%>"
  3. ......


 
html.vbs

Code :
  1. Sub Button1()
  2. msgbox "quelqu'un a cliqué sur le bouton !"
  3. End Sub


 
Et tu mettera dans ta frame une balise script :

Code :
  1. <script type="text/vbscript" src="file:///C:/..../html.vbs></script>


A voir maintenant si une URL de type file:/// ne pose pas de probs


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBS] un bouton dans un iframe

 

Sujets relatifs
[C#] Afficher un texte pendant qu'un bouton est appuyé[access] requête de suppression dans un bouton de commande ?
Vider le contenu d'un textarea en cochant un bouton de type "radio"Un bouton qui supprime un dossier ?!
javascript bouton radiopb: Lightview dans un iframe
Bouton invisiblerécupération de l'évènement d'un Bouton radio
Changement bouton OnClickbouton pour changer lien
Plus de sujets relatifs à : [VBS] un bouton dans un iframe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR