Exécution de JavaScript
Matt_r
Messages postés
11
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Dans un macro, je navigue sur internet et cherche à exécuter un JavaScript définie comme suit dans le code source :
<div class = "Niveau 2" id="DivElement" NbFils="0" IdPere="1" Ouvert="1" Niveau="2" IdElement="5">
<a href="javascript:LoadReqPredef('36');">
Texte - Recherche avancée
En fait, le travail se fait sur un site uniquement disponible en Intranet de ma boite, donc pas moyen de tester sur un autre poste que ceux de mon bureau...
Quand j'exécute le code ci-dessous, rien ne se passe, tout simplement...
Mon code VBA est le suivant :
Sub Rechercher()
On Error Resume Next
Dim oIe as New InternetExplorer
oIe.Visible = True
oIe.Navigate = "http://actif/"
Do Until oIe.readystate = READYSTATE_COMPLETE
DoEvents
Loop
oIe.Document.parentWindow.execScript "LoadReqPredef('36')", "JavaScript"
[...]
End Sub
Les références suivantes sont cochées :
Visual Basic for Applications - Microsoft Excel 14.0 Object Library - OLE Automation - Microsoft Office 14.0 Object Library - Microsoft HTML Object Library - Microsoft Internet Controle - JavaWebStart 1.0 Type Library - Microsoft Shell Controls and Automation.
Merci d'avance pour vorte aide précieuse !
Matt
Dans un macro, je navigue sur internet et cherche à exécuter un JavaScript définie comme suit dans le code source :
<div class = "Niveau 2" id="DivElement" NbFils="0" IdPere="1" Ouvert="1" Niveau="2" IdElement="5">
<a href="javascript:LoadReqPredef('36');">
Texte - Recherche avancée
En fait, le travail se fait sur un site uniquement disponible en Intranet de ma boite, donc pas moyen de tester sur un autre poste que ceux de mon bureau...
Quand j'exécute le code ci-dessous, rien ne se passe, tout simplement...
Mon code VBA est le suivant :
Sub Rechercher()
On Error Resume Next
Dim oIe as New InternetExplorer
oIe.Visible = True
oIe.Navigate = "http://actif/"
Do Until oIe.readystate = READYSTATE_COMPLETE
DoEvents
Loop
oIe.Document.parentWindow.execScript "LoadReqPredef('36')", "JavaScript"
[...]
End Sub
Les références suivantes sont cochées :
Visual Basic for Applications - Microsoft Excel 14.0 Object Library - OLE Automation - Microsoft Office 14.0 Object Library - Microsoft HTML Object Library - Microsoft Internet Controle - JavaWebStart 1.0 Type Library - Microsoft Shell Controls and Automation.
Merci d'avance pour vorte aide précieuse !
Matt
A voir également:
- Exécution de JavaScript
- Telecharger javascript - Télécharger - Langages
- Le service spouleur d'impression local n'est pas en cours d'exécution - Guide
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Javascript echo ✓ - Forum PHP
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
3 réponses
Bonjour,
Essaye avec l'affectation, à une variable HTMLDocument, de ta page Internet.
Comme ceci :
Après, sans accès au code source, difficile de t'aider davantage...
Note : On Error Resume Next n'est à utiliser que lorsque l'on "maîtrise" l'erreur. Si tu ne sais pas d'où peut bien provenir ton ou tes erreurs, fait des tests.
Cordialement,
Franck
Essaye avec l'affectation, à une variable HTMLDocument, de ta page Internet.
Comme ceci :
Sub Rechercher()
Dim oIe as New InternetExplorer
Dim oIeDoc As HTMLDocument
'SUPPRIME MOI CETTE LIGNE!!!!!!!!!!!!!
'On Error Resume Next
oIe.Navigate = "http://actif/"
oIe.Visible = True
Do Until oIe.readystate = READYSTATE_COMPLETE
DoEvents
Loop
'ICI On affecte notre variable HTMLDocument :
Set oIeDoc = oIe.document
oIeDoc.parentWindow.execScript "LoadReqPredef('36')", "JavaScript"
End Sub
Après, sans accès au code source, difficile de t'aider davantage...
Note : On Error Resume Next n'est à utiliser que lorsque l'on "maîtrise" l'erreur. Si tu ne sais pas d'où peut bien provenir ton ou tes erreurs, fait des tests.
Cordialement,
Franck
Merci beaucoup !
Après avoir fait ce que tu conseillais, j'obtiens un message d'erreur :
Erreur d'exécution '-2147352319 (80020101)':
Erreur Automation
A méditer donc :D
J'ai également utilisé un espion sur oIeDoc, la variable HTMLDocument relative à l'objet IE. En observant les anchors, j'ai été surpris de voir qu'ils ne contenaient aucun item, alors que le JavaScript à exécuter est défini par la balise <a> ...
Enfin, Franck, je peux te fournir le code source de la page si tu le souhaites, mais qu'est ce qu'il t'apporterai de plus que les lignes définissant le JavaScript que j'ai déjà postées dans mon premier message ?
En tout cas, je te remercie pour cette réponse rapide.
Ps : je dis probablement d'énormes bêtises mais je débute en HTML ... j'espère que l'excuse est suffisante :p
Après avoir fait ce que tu conseillais, j'obtiens un message d'erreur :
Erreur d'exécution '-2147352319 (80020101)':
Erreur Automation
A méditer donc :D
J'ai également utilisé un espion sur oIeDoc, la variable HTMLDocument relative à l'objet IE. En observant les anchors, j'ai été surpris de voir qu'ils ne contenaient aucun item, alors que le JavaScript à exécuter est défini par la balise <a> ...
Enfin, Franck, je peux te fournir le code source de la page si tu le souhaites, mais qu'est ce qu'il t'apporterai de plus que les lignes définissant le JavaScript que j'ai déjà postées dans mon premier message ?
En tout cas, je te remercie pour cette réponse rapide.
Ps : je dis probablement d'énormes bêtises mais je débute en HTML ... j'espère que l'excuse est suffisante :p
J'ai bien médité....
je peux te fournir le code source de la page si tu le souhaites, mais qu'est ce qu'il t'apporterai de plus que les lignes définissant le JavaScript que j'ai déjà postées dans mon premier message ?
Ca permet, éventuellement, de tester en "condition réelle"...
Le code fournit précédemment fonctionne, chez moi, sur une page html, sans souci.
Du coup, il faudrait que je puisses tester sur ta page...
Lorsque j'exécute ce code en "pas à pas", la variable oIeDoc contient "[object]".
je peux te fournir le code source de la page si tu le souhaites, mais qu'est ce qu'il t'apporterai de plus que les lignes définissant le JavaScript que j'ai déjà postées dans mon premier message ?
Ca permet, éventuellement, de tester en "condition réelle"...
Le code fournit précédemment fonctionne, chez moi, sur une page html, sans souci.
Du coup, il faudrait que je puisses tester sur ta page...
Lorsque j'exécute ce code en "pas à pas", la variable oIeDoc contient "[object]".