Insérer du JavaScript dans VBA
Je cherche comment insérer du JavaScript dans mon navigateur , et que mon navigateur exécute ce Script.
Merci de votre compréhension.
24 réponses
La question porte sur l'insertion et l'exécution de JavaScript dans le navigateur sous Windows 7 et Google Chrome, et sur les méthodes possibles pour lancer son propre script. Plusieurs réponses suggèrent des approches différentes, notamment l'utilisation de VBA et d'objets Web pour exécuter le script, ou l'emploi d'extensions Chrome pour injecter du code. D'autres réactions évoquent des méthodes spécifiques, comme des appels execScript via IE ou des scripts qui interagissent avec des éléments de page et des événements simulés. En cas de doute, certaines propositions restent à tester sur des pages locales ou des extensions dédiées, mais la compatibilité et la sécurité influent fortement sur le choix.
-
Me.NavigateurWeb0.Object.Document.parentwindow.execScript "NomDeLaFonction()", "JavaScript"
Dans nom de la fonction je met mon script ? -
quand tu met ce code sur un bouton il se passe koi ?
Me.NavigateurWeb0.Object.Navigate "https://www.facebook.com/"
Me.NavigateurWeb0.Object.Document.parentwindow.execScript "NomDeLaFonction()", "JavaScript" -
Oki pour le bouton qui va vers l'application facebook mais pour le code bouton executer le javascript comment faire ?
-
Alors il te faut mettre l'adresse du site dans ton NavigateurWeb0 puis creer un bouton qui va executer la fonction javascript sur le site.
-
Non
-
Tu as bien l'adresse du site dans la source controle du webcomponent ?
Quel est le message quand tu executes le code ? -
Mais le navigateur doit aller sur une page et executer ce script
-
Pourquoi ne pas laisser ton script seulement sur la page web ?
-
Me.NavigateurWeb0.Object.Document.parentwindow.execScript "/** Generates click (mouse)Events. */
function doClickThisButton( target_button){
var event_click=document.createEvent( "MouseEvents");
event_click.initMouseEvent(
"click", true, true, window,
1, 0, 0, 0, 0,
false, false, false, false, 0, null);
target_button.dispatchEvent( event_click);
}
/** Checks Send/Receive buttons are availables ??? */
if(( document.getElementById( "selectall_send_cbx")==null) || (document.getElementById( "selectall_receive_cbx")==null))
chrome.tabs.getCurrent( function( tab){ chrome.tabs.update( tab.id, { url:String( tab.url)}); });
var coolPoints=0;
var gradeName="Kiwi Petit Bolide";
var countImage=0;
var albumImage=0;
/** Extracts Player settings */
var scripts=document.getElementsByTagName( "script");
for( var i=0; i!=scripts.length; i++){
if( scripts[ i].src==""){ // IC.settings.hud = // IC.i18n.hud
var scriptContent=scripts[ i].innerText;
var startKey="IC.settings.hud =";
var endKey="IC.i18n = IC.i18n || {};"; // "IC.i18n.hud";
var settingsPos=scriptContent.indexOf( startKey);
var settingsEnd=scriptContent.indexOf( endKey);
if(( settingsPos!=-1) && ( settingsEnd!=-1)){
scriptContent=scriptContent.substring( settingsPos+ startKey.length, settingsEnd);
scriptContent=scriptContent.substring( 0, scriptContent.lastIndexOf( ";"));
var iscoolSettings=JSON.parse( scriptContent);
coolPoints=iscoolSettings.players[ 0].score;
gradeName=iscoolSettings.players[ 0].gradeName;
countImage=iscoolSettings.players[ 0].countImage- iscoolSettings.players[ 0].albumCountUniqueImage;
albumImage=Math.round(( 100* iscoolSettings.players[ 0].albumCountUniqueImage) / iscoolSettings.players[ 0].albumMax);
break;
}
}
}
/** UserData */
function SendReceiveLoad(){
this.coolPoints=coolPoints;
this.gradeName=gradeName;
this.countImage=countImage;
this.albumImage=albumImage;
this.send=document.getElementById( "column-send").getElementsByTagName( "input").length;
this.receive=document.getElementById( "column-receive").getElementsByTagName( "input").length;
}
function SendReceiveSubmit(){
this.sent=0;
this.received=0;
}
/***/
try{
/***/
chrome.extension.onRequest.addListener(
function( request, sender, sendResponse){
var send_receive_submit=new SendReceiveSubmit();
send_receive_submit.sent=document.getElementById( "column-send").getElementsByTagName( "input").length;
send_receive_submit.received=document.getElementById( "column-receive").getElementsByTagName( "input").length;
sendResponse( JSON.stringify( send_receive_submit));
doClickThisButton( document.getElementById( "send-receive-button").getElementsByTagName( "a")[ 0]);
});
/***/
var send_receive_load=new SendReceiveLoad();
chrome.extension.sendRequest( JSON.stringify( send_receive_load), function( response){
var res=JSON.parse( response);
if( res.onOff){
doClickThisButton( document.getElementById( "selectall_receive_cbx"));
doClickThisButton( document.getElementById( "selectall_send_cbx"));
}
});
} catch( e){
chrome.tabs.getCurrent( function( tab){ chrome.tabs.update( tab.id, { url:String( tab.url)}); });
}()", "JavaScript" -
K tu écris comme code ?
-
Ca ne marche pas
-
Bah je te l'ai donné le code
-
Il me faudrai un code pour rentrer mon javascript et qu'il puisse l'executer en même temps
-
Et si tu essayais ca com lien :
http://www.facebook.com/...
?????? -
Car ca serait aller sur facebook sur l'application Is Cool et qu'il cliquerait sur sur les points avec mon script
-
Oki car ca aurait etre pour visual basic express je n'avais pas précise merci je vais essayer
-
Nom de la fonction c le nom de la fonction javascript de ta page web
ce code fonctionne pour du vba je cite ton titre :
-inserer-du-javascript-dans-vba
je n'est pas tester sous vbnet mais ca doit marcher -
Oki merci NomdeLafonction faut que je mettre mon script ? t'est sur que ce bout de code ca marche pour visual basic 2010 ?
-
Re
ah si je viens de faire des test et ca marche :
Voici mon code de test :
Me.NavigateurWeb0.Object.Navigate "https://www.facebook.com/"
Me.NavigateurWeb0.Object.Document.parentwindow.execScript "NomDeLaFonction()", "JavaScript" -
Je ne sais pas si cela est possible via un web brow mais je sais que cela est possible en pilotant internet explorer en vba
- 1
- 2