Erreur d'execution 70, permission refusée avec execScript [Résolu]

mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 11:20 - Dernière réponse : mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention
- 27 mai 2009 à 15:31
Bonjour à tous,

J'ai un gros soucis, je dois executer une fonction javascript à partir de VBA, et depuis une semaine je ne trouve pas de solutions. Je voulais executer la fonction en la passant dans l'url de la page internet explorer en faisant:

ie.Navigate (url & "onclick= if(redirectionOnglets(document.forms[0],this)){document.forms[0].marqueSelectionnee.value='onglet.marque.giea';document.forms[0].submit();}")

Sans succès!

Donc j'ai voulu tenter avec le WebBrowser, j'ai donc écris :

Set mapage = ie.Document

mapage.parentWindow.execScript  "onclick= if(redirectionOnglets(document.forms[0],this)){document.forms[0].marqueSelectionnee.value='onglet.marque.giea';document.forms[0].submit();}", "Javascript"

ie.Navigate (url)

Et là j'ai une erreur: "Erreur d'execution '70' Permission refusée".
Que faire?
Merci beaucoup d'avance!
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 27 mai 2009 à 14:32
3
Merci
non testé, mais faire en gros:


Dim oLink As Object
For Each oLink In IE.Document.getElementsByTagName("a")
If oLink.InnerHTML = "MarqueC" Then
oLink.Click
Exit For
End If
Next oLink

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de Renfield
Meilleure réponse
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 27 mai 2009 à 15:26
3
Merci
tu attend bien que le document soit exploitable ?

(status COMPLETE)

le pas a pas accorde peut etre suffisemment de temps au webbrowser pour rappatrier la page...

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de Renfield
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 27 mai 2009 à 11:28
0
Merci
pas clair, pas clair...
quellé étrange URL...

tu peux surement utiliser FireEvent pour déclencher un onClick, et ainsi appeler le script qui va bien.
Commenter la réponse de Renfield
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 14:00
0
Merci
Bonjour Renfield,
merci de ta réponse.

En fait la page que je veux appeler, elle contient des onglets. et ces onglets, quand on clique dessus, ça déclenche la fonction javascript Onclick pour afficher l'onglet.
Et je veux faire ça à partir de VBA, donc ce que je voulais c'etait recharger la page et lancer onclick, pour que le 2e onglet s'affiche.
ça sera possible avec FireEvent? tu peux me donner la syntaxe?
(je ne suis pas très douée en vba...)

Merci beaucoup!
Commenter la réponse de mmmxtina
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 27 mai 2009 à 14:04
0
Merci
tu peux simplement demander un Click de la chose...

quel est le code HTML de ta page (au moins la partie des onglets) ?

jouer avec FireEvent est parfois nécessaire, pour déclencher le code js qui traine ici ou là et est executé en temps normal (onfocus, onkeydown, etc.)
Commenter la réponse de Renfield
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 14:24
0
Merci
Voici le code de la page partie onglet:

  
 
    
  
   MarqueA
  
  
  
   [#
    MarqueB
   ]
    
  
  
   [#
    MarqueC
   ]
  
  
  
   
   [#
    MarqueD
   ]
  

J'ai mis de la couleur pour que ce soit plus clair, il y a donc 4 onglet, celui qui est affiché pour l'instant c'est le premier (Marque A), et le code c'est span qqch...
Moi j'aimerai afficher les 3 auutres à la suite avec VBA, pour récupérer le code source généré par la page.

Merci beaucoup!
Commenter la réponse de mmmxtina
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 14:49
0
Merci
Merci pour l'info, mais cela ne fonctionne pas malheureusement....

J'ai écris ceci :

 ie.Navigate (url)
 ie.Visible = True

 Dim oLink As Object
    For Each oLink In ie.Document.getElementsByTagName("onglets")
        If oLink.innerHTML Like "MarqueC" Then
            oLink.Click
            Exit For
        End If
    Next oLink

Et j'ai débbugger, en fait on ne rentre pas dans le fort, le curseur passe sur la premiere ligne en rouge, et sort directement... bizarre.

Aurez-tu une idée?
Commenter la réponse de mmmxtina
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 27 mai 2009 à 14:54
0
Merci
pourquoi "onglets"

pas confondre getElementById et getElementsByTagName
Commenter la réponse de Renfield
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 14:55
0
Merci
CA FONCTIONNE!!!!!!!!!!!
excuse moi, j'avais écris For Each oLink In ie.Document.getElementsByTagName("onglets") aulieu de
For Each oLink In ie.Document.getElementsByTagName("a"), je suis bête!!!!!!!

Mon dieu, les heures que j'ai apssé dessuq tu m'enlèves un arbre du pied!!!!!!
merciiiiiiiiiiiii!
Commenter la réponse de mmmxtina
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 14:57
0
Merci
Je viens de voir ton post! poui j'ai confondu les 2 en effet!!!, je re test une deuxième fois! je te tiens au courant si ça plante, mais pour l'instant ça à l'aire de fonctionner!!!
Commenter la réponse de mmmxtina
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 27 mai 2009 à 14:59
0
Merci
dans mon code, on itère sur chaque lien, et on teste le contenu texte

le test est peut etre pas bon (sauts de lignes etc.)
je te laisse le corriger si besoin, a l'aide d'un Instr, par exemple.

une fois le lien identifié, on lance un click tout bête et on quitte la boucle
Commenter la réponse de Renfield
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 15:19
0
Merci
Bon j'ai du crier victoire un peu trop vite!
bon c'est un peu bizare, car quand j'execute mon code pas à pas, cela fonctionne parfaitement! mais quand je lance mon code d'un coup cela ne fonctionne pas!

J'ai utilisé des msgbox pour voir ce que contenait oLink.innerHTML, lorsque c'est pas à pas, je vois le texte défilé, lorsque c'est l'execution totale, toute les msgbox sont vides.

tu as une idée du problème?
Merci beaucoup.
Commenter la réponse de mmmxtina
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 27 mai 2009 à 15:31
0
Merci
Visiblement, tu as vraiment TOUT COMPRIS!!!!
J'ai ajouter une petite fonction AttendreIE() juste avant de faire le For each, j'ai testé 5 fois, ça fonctionne!
Merci beaucoup pour ton aide Renfield!!!
Commenter la réponse de mmmxtina

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.