J'ai une macro simplissime qui se contente d'aller chercher des infos sur
une page html en pilotant internet explorer depuis Excel VBA :
Sub test()
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate ("http://google.fr")
ie.Visible = True
Do While ie.ReadyState <> 4
Loop
Set dct = ie.Document
MsgBox dct.Title
End Sub
La macro, qui fonctionnait correctement depuis des années sous XP, continue
de fonctionner sous W7-Office 2010.
Par contre, si j'essaie de remplacer "http://google.fr" par une bête page
html en local (sur C:), rien ne va plus :
l'objet ie est bien créé, la page html est bien ouverte, mais il semble que
dès l'ouverture de la page, l'objet ie soit supprimé : quand on cherche à
accéder aux propriétés de la page, on reçoit un message d'erreur disant que
l'objet invoqué s'est déconnecté ! (la page html reste ouverte)
Je précise qu'il s'agit d'un ordinateur d'entreprise, et que le test a été
fait dans les mêmes conditions dans une autre entreprise, avec le même
résultat.
On peut imaginer que certains droits d'accès sont restreints pour raisons de
sécurité, mais il est surprenant qu'on puisse accéder à un fichier internet
et pas a un fichier local !
A noter : Excel peut accéder au fichier local sans problème par
Workbooks.open(fichier html local).
Tout ça me semble bien étrange !
J'imagine qu'il y a un paramétrage à faire, mais de quoi ??
D'avance merci
J@C
http://jacxl.free.fr
> Bonjour,
> Petit problᅵme VBA Excel sous Office 2010 :
>
> J'ai une macro simplissime qui se contente d'aller chercher des infos sur une
> page html en pilotant internet explorer depuis Excel VBA :
>
> Sub test()
> Set ie = CreateObject("InternetExplorer.Application")
> ie.Navigate ("http://google.fr")
> ie.Visible = True
> Do While ie.ReadyState <> 4
> Loop
> Set dct = ie.Document
> MsgBox dct.Title
> End Sub
>
> La macro, qui fonctionnait correctement depuis des annᅵes sous XP, continue
> de fonctionner sous W7-Office 2010.
>
> Par contre, si j'essaie de remplacer "http://google.fr" par une bᅵte page
> html en local (sur C:), rien ne va plus :
> l'objet ie est bien crᅵᅵ, la page html est bien ouverte, mais il semble que
> dᅵs l'ouverture de la page, l'objet ie soit supprimᅵ : quand on cherche ᅵ
> accᅵder aux propriᅵtᅵs de la page, on reᅵoit un message d'erreur disant que
> l'objet invoquᅵ s'est dᅵconnectᅵ ! (la page html reste ouverte)
>
> Je prᅵcise qu'il s'agit d'un ordinateur d'entreprise, et que le test a ᅵtᅵ
> fait dans les mᅵmes conditions dans une autre entreprise, avec le mᅵme
> rᅵsultat.
> On peut imaginer que certains droits d'accᅵs sont restreints pour raisons de
> sᅵcuritᅵ, mais il est surprenant qu'on puisse accᅵder ᅵ un fichier internet
> et pas a un fichier local !
> A noter : Excel peut accᅵder au fichier local sans problᅵme par
> Workbooks.open(fichier html local).
>
> Tout ᅵa me semble bien ᅵtrange !
> J'imagine qu'il y a un paramᅵtrage ᅵ faire, mais de quoi ??
"DanielCo" <dcolard...@free.fr> a écrit dans le message de groupe de
discussion : j2dmo7$c0c$1...@speranza.aioe.org...
> Bonjour,
> Ce qui est sûr, c'est que ce n'est pas une question de droits liés à une
> entreprise, le problème se produit également chez moi.
> Cordialement.
> Daniel
>
>
>> Bonjour,
>> Petit problème VBA Excel sous Office 2010 :
>>
>> J'ai une macro simplissime qui se contente d'aller chercher des infos sur
>> une page html en pilotant internet explorer depuis Excel VBA :
>>
>> Sub test()
>> Set ie = CreateObject("InternetExplorer.Application")
>> ie.Navigate ("http://google.fr")
>> ie.Visible = True
>> Do While ie.ReadyState <> 4
>> Loop
>> Set dct = ie.Document
>> MsgBox dct.Title
>> End Sub
>>
>> La macro, qui fonctionnait correctement depuis des années sous XP,
>> continue de fonctionner sous W7-Office 2010.
>>
>> Par contre, si j'essaie de remplacer "http://google.fr" par une bête page
>> html en local (sur C:), rien ne va plus :
>> l'objet ie est bien créé, la page html est bien ouverte, mais il semble
>> que dès l'ouverture de la page, l'objet ie soit supprimé : quand on
>> cherche à accéder aux propriétés de la page, on reçoit un message
>> d'erreur disant que l'objet invoqué s'est déconnecté ! (la page html
>> reste ouverte)
>>
>> Je précise qu'il s'agit d'un ordinateur d'entreprise, et que le test a
>> été fait dans les mêmes conditions dans une autre entreprise, avec le
>> même résultat.
>> On peut imaginer que certains droits d'accès sont restreints pour raisons
>> de sécurité, mais il est surprenant qu'on puisse accéder à un fichier
>> internet et pas a un fichier local !
>> A noter : Excel peut accéder au fichier local sans problème par
>> Workbooks.open(fichier html local).
>>
>> Tout ça me semble bien étrange !
>> J'imagine qu'il y a un paramétrage à faire, mais de quoi ??
Sous Excel 2010, 64 bits et Windows 64 bits.
J'ai enregistré cette page http://druide.com/ sur le disque dur c:\Druide informatique inc_.htm
Et j'ai testé ta procédure :
'----------------------------------------------
Sub test()
Set ie = CreateObject("InternetExplorer.Application")
'ie.Navigate ("http://google.fr")
ie.Navigate ("c:\Druide informatique inc_.htm")
ie.Visible = True
Do While ie.ReadyState <> 4
Loop
Set dct = ie.Document
MsgBox dct.Title
End Sub
'----------------------------------------------
Conclusion : la page enregistrée sur le disque dur s'ouvre normalement dans le fureteur Internet Explorer.
MichD
------------------------------------------
"j@c" a écrit dans le message de groupe de discussion : 4e4acb62$0$32157$426a...@news.free.fr...
MichD a écrit
La fenêtre du Message Box affiche l'adresse du site internet : "Druite informatique inc"
MichD
------------------------------------------
"DanielCo" a écrit dans le message de groupe de discussion : j2fqhm$2b0$1...@speranza.aioe.org...
MichD
------------------------------------------
"DanielCo" a écrit dans le message de groupe de discussion : 4e4b9767$0$29531$426a...@news.free.fr...
La fenêtre du message est vide si j'enregistre un fichier Word au format Html
MichD
--------------------------------------------
"DanielCo" a écrit dans le message de groupe de discussion : 4e4b9767$0$29531$426a...@news.free.fr...
Tu pourras lire que le message d'erreur signifie ceci :
'----------------
"Microsoft Excel est l'application serveur. L'erreur est générée par une référence à un objet classeur qui a été détruit
(ou fermé)."
'----------------
As-tu essayé en déclarant la variable Dct de différentes manières ?
Si je regarde dans l'explorateur d'objet "Document" n'est pas une classe objet,
mais une propriété de l'objet "Internet Explorer"
Par exemple, on ne peut pas déclarer la variable
Dim Dct as Document ou Dct As InternetExplorer.Document
Selon que l'application Internet Explorer affiche une vraie page web ou contient
le contenu d'une application "Word" dans notre exemple, il semble y avoir une
différence quant à la manière d'y faire référence...
(Je m'arrête ici... je ne connais pas très bien le modèle objet Internet Explorer...
A )
Dim Dct as Object
'le reste de la macro
B )
En ajoutant la référence : "Microsoft Internet Controls"
Sub test1()
Dim Ie As New InternetExplorer
Ie.Navigate ("c:\Word_Page Web.htm")
Ie.Visible = True
Do While Ie.ReadyState <> 4
Loop
Set dct = Ie.Document
MsgBox dct.Title
End Sub
Je donne cette adresse en complément, cela pourrait intéresser certains...
http://support.microsoft.com/kb/162059
MichD
--------------------------------------------
"DanielCo" a écrit dans le message de groupe de discussion : j2gf1f$hcl$1...@speranza.aioe.org...
------------------
"MichD" <mich...@hotmail.com> a écrit dans le message de groupe de
discussion : j2gk1h$tnk$1...@speranza.aioe.org...
| Si je la laisse en local
*** Tu parles d'une page HTML d'une application Word ou Excel que tu affiches dans Internet Explorer. C'est ça ?
Peux-tu nous donner le message d'erreur exact que tu obtiens ?
*** J'ai testé sous Excel 7 et Excel 10, la boîte de message demeure vide
mais je n'ai aucun message d'erreur.
| et ne peux plus rien en faire
*** Habituellement, quelles manipulations sont effectuées sur la page ouverte ?
MichD
--------------------------------------------
"j@c" a écrit dans le message de groupe de discussion : 4e4c213b$0$15031$426a...@news.free.fr...
Sub zaza1()
chem = "http://google.fr"
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate (chem)
Do While ie.ReadyState <> 4
Loop
MsgBox ie.document.body.outerhtml
End Sub
Le Msgbox m'affiche le code de la page d'accueil Google
Si maintenant, je fais une page rien.html ne contenant que :
<HTML><BODY>test</BODY></HTML>
et que je l'installe sur mon disque dur (ou sur un serveur du boulot) puis
que je lance la macro :
Sub zaza2()
chem = "file:///C:/Users/chaussa/rien.html"
'rien.html ne contient que <HTML><BODY>test</BODY></HTML>
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate (chem)
Do While ie.ReadyState <> 4
Loop
MsgBox ie.document.body.outerhtml
End Sub
...alors, ie s'ouvre bien, la page rien.html s'affiche, mais je me fais
copieusement injurier par un message qui me dit :
Erreur d'execution -214717848 (80010108)
Erreur automation
L'objet invoqué s'est déconnecté de ses clients
(sur la ligne "do while ie.readystate<>4")
et la page rien.html reste affichée.
Précision,
Windows 7
Office 2010
Internet explorer 8
Et ça marchait très bien avant sous XP
Et ça marche toujours très bien chez moi sous Windows 7 (version 6.1) et XL
Excel 2003 et IE 8
si vous avez des idées...
PS, quelqu'un se souvient-il de l'origine de zaza ?
------------------------
"MichD" <mich...@hotmail.com> a écrit dans le message de groupe de
discussion : j2h9ep$jms$1...@speranza.aioe.org...
"j@c" <jacques....@noos.fr> a écrit dans le message de
news:4e4d6e95$0$693$426a...@news.free.fr...
"j@c" a ᅵcrit :
PS, quelqu'un se souvient-il de l'origine de zaza ?
;o))) ????
http://jacxl.free.fr/mpfe/fiches/zaza.html
La lumiᅵre s'enfuit de la piᅵce en un torrent clair qui disparut sous la
porte et l'ᅵcran s'ᅵclaira peu ᅵ peu.
Gros bisous, Kenavo (et Miaou).
Catherine (et Sainte Zaza)
amatrice de cidre, grande prᅵtresse des adorateurs de Zaza, spᅵcialiste de la
formation Excel sur table et de la conception de T-shirts
derniᅵre informations connues(2004) : la sociᅵtᅵ ne semble plus exister !
COPIGNY Catherine
60126 LONGUEIL STE MARIE
518G - Commerce de gros d'ordinateurs, d'ᅵquipements informatiques
pᅵriphᅵriques et de progiciels
nb : je me souviens de l'accueil de Catherine le 18/12/2000
lorsque j'avais mis en piᅵce jointe(sacrilᅵge) une sorte de XLPong
ᅵ titre de cadeau de Noᅵl aux contributeurs de MPFE
;o)))
>> ouaouhhhh :-))) curieuse, je l'ai ouvert et bien m'en a pris :-))))))))) Un
>> fada de plus ᅵ mettre sur le compte des victimes de VBA ;-)
" Le vin est au repas ce que le parfum est à la femme."
"Maude Este" a écrit dans le message de groupe de discussion :
j2k23q$tod$1...@speranza.aioe.org...
"j@c" a écrit :
PS, quelqu'un se souvient-il de l'origine de zaza ?
;o))) ????
http://jacxl.free.fr/mpfe/fiches/zaza.html
La lumière s'enfuit de la pièce en un torrent clair qui disparut sous la
porte et l'écran s'éclaira peu à peu.
Gros bisous, Kenavo (et Miaou).
Catherine (et Sainte Zaza)
amatrice de cidre, grande prêtresse des adorateurs de Zaza, spécialiste de
la
formation Excel sur table et de la conception de T-shirts
dernière informations connues(2004) : la société ne semble plus exister !
COPIGNY Catherine
60126 LONGUEIL STE MARIE
518G - Commerce de gros d'ordinateurs, d'équipements informatiques
périphériques et de progiciels
nb : je me souviens de l'accueil de Catherine le 18/12/2000
lorsque j'avais mis en pièce jointe(sacrilège) une sorte de XLPong
à titre de cadeau de Noël aux contributeurs de MPFE
;o)))
>> ouaouhhhh :-))) curieuse, je l'ai ouvert et bien m'en a pris :-)))))))))
>> Un fada de plus à mettre sur le compte des victimes de VBA ;-)
"Jacquouille" <j.thie...@skynet.be> a écrit dans le message de groupe de
discussion : 4e4eb29c$0$5047$ba62...@news.skynet.be...
"Maude Este" <nom...@live.fr> a écrit dans le message de groupe de
discussion : j2k23q$tod$1...@speranza.aioe.org...
>
>
> "j@c" a écrit :
> PS, quelqu'un se souvient-il de l'origine de zaza ?
>
> ;o))) ????
> http://jacxl.free.fr/mpfe/fiches/zaza.html
>
> La lumière s'enfuit de la pièce en un torrent clair qui disparut sous la
> porte et l'écran s'éclaira peu à peu.
> Gros bisous, Kenavo (et Miaou).
> Catherine (et Sainte Zaza)
> amatrice de cidre, grande prêtresse des adorateurs de Zaza, spécialiste de
> la formation Excel sur table et de la conception de T-shirts
>
> dernière informations connues(2004) : la société ne semble plus exister !
> COPIGNY Catherine
> 60126 LONGUEIL STE MARIE
> 518G - Commerce de gros d'ordinateurs, d'équipements informatiques
> périphériques et de progiciels
>
> nb : je me souviens de l'accueil de Catherine le 18/12/2000
> lorsque j'avais mis en pièce jointe(sacrilège) une sorte de XLPong
> à titre de cadeau de Noël aux contributeurs de MPFE
>
> ;o)))
>>> ouaouhhhh :-))) curieuse, je l'ai ouvert et bien m'en a pris :-)))))))))
>>> Un fada de plus à mettre sur le compte des victimes de VBA ;-)
>
>
"j@c" <jacques....@noos.fr> a écrit dans le message de groupe de
discussion : 4e4d6e95$0$693$426a...@news.free.fr...
"DanielCo" <dcolard...@free.fr> a écrit dans le message de groupe de
discussion : 4e54d24b$0$12804$426a...@news.free.fr...
http://excel.developpez.com/faq/?page=WebHtml
http://jacxl.free.fr/cours_xl/cadres.html?ex=
MichD
--------------------------------------------
| on reçoit un message d'erreur disant que
| l'objet invoqué s'est déconnecté !
Quelle différence entre ouvrir un fichier via un serveur sur un site internet
(rôle du serveur d'application )et ouvrir un document HTML à partir de son
disque dur en local ? (Pour les férus d'Internet...)
As-tu pensé d'ouvrir ton document dans l'application Word ?
'---------------------------------------
Sub test()
Dim IE As Object, GestionErreur As String
On Error GoTo GestionErreur
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate ("http://google.fr")
IE.Visible = True
Do While IE.ReadyState <> 4
IE.Quit '<==== ligne ajoutée
Loop
Set dct = IE.Document
MsgBox dct.Title
Exit Sub
GestionErreur:
MsgBox Err.Number & ", " & Err.Description
End Sub
'---------------------------------------
MichD
--------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : j3535r$d1r$1...@speranza.aioe.org...
"MichD" a écrit
2 sites internet qui exploitent le langage VBA et Internet Explorer et le HTML.
J'espère que tu trouveras ce que tu cherches.
http://jacxl.free.fr/cours_xl/cadres.html?ex=
;o)))
heu ... Denis ???
qui est l'initiateur de ce fil ???
Je suppose qu'il connaît l'adresse... ;-)
Mais il y a d'autres lecteurs de ce fil que l'adresse pourrait intéresser !
"MichD" <mich...@hotmail.com> a écrit dans le message de groupe de
discussion : j35b4h$vje$1...@speranza.aioe.org...
"MichD" <mich...@hotmail.com> a écrit dans le message de groupe de
discussion : j3535r$d1r$1...@speranza.aioe.org...
-------------
"MichD" <mich...@hotmail.com> a ᅵcrit dans le message de groupe de
discussion : j3555o$hki$1...@speranza.aioe.org...
> Si tu veux gᅵnᅵrer volontairement le message d'erreur que tu obtiens
> regarde cette procᅵdure :
>
> | on reᅵoit un message d'erreur disant que
> | l'objet invoquᅵ s'est dᅵconnectᅵ !
>
> Quelle diffᅵrence entre ouvrir un fichier via un serveur sur un site
> internet
> (rᅵle du serveur d'application )et ouvrir un document HTML ᅵ partir de son
> disque dur en local ? (Pour les fᅵrus d'Internet...)
>
> As-tu pensᅵ d'ouvrir ton document dans l'application Word ?
>
> '---------------------------------------
> Sub test()
> Dim IE As Object, GestionErreur As String
> On Error GoTo GestionErreur
> Set IE = CreateObject("InternetExplorer.Application")
> IE.Navigate ("http://google.fr")
>
> IE.Visible = True
> Do While IE.ReadyState <> 4
>
> IE.Quit '<==== ligne ajoutᅵe
>
> Loop
>
> Set dct = IE.Document
> MsgBox dct.Title
> Exit Sub
> GestionErreur:
> MsgBox Err.Number & ", " & Err.Description
> End Sub
> '---------------------------------------
>
>
>
> MichD
> --------------------------------------------
> "MichD" a ᅵcrit dans le message de groupe de discussion :
> j3535r$d1r$1...@speranza.aioe.org...
>
> 2 sites internet qui exploitent le langage VBA et Internet Explorer et le
> HTML.
> J'espᅵre que tu trouveras ce que tu cherches.
MichD
--------------------------------------------
"MichD" <mich...@hotmail.com> a écrit dans le message de groupe de
discussion : j3bime$9hu$1...@speranza.aioe.org...
> Et pourquoi ne traites-tu pas ces pages en HTML en utilisant le programme
> "Word" par exemple ?
> En quoi l'application "Internet Explorer" est-elle essentielle dans la
> résolution de ta problématique ?
>
>
>
> MichD
> --------------------------------------------
>
"Microsoft Internet Controls" et "Microsoft HTMLDocument Object Library",
cela devient plus facile de travailler avec les diverses variables.
Cela te donnera au moins accès aux listes des propriétés et méthodes associées à chacun des objets.
'---------------------------------------------
Sub test()
Dim Dct As HTMLDocument
Dim Ie As InternetExplorer
Set Ie = CreateObject("InternetExplorer.Application")
'Ie.Navigate ("http://google.fr")
Ie.Navigate ("c:\Denis.htm")
Ie.Visible = True
Do While Ie.ReadyState <> 4
Loop
Set Dct = Ie.document
MsgBox Dct.body.outerText
MsgBox Dct.URL
End Sub
'---------------------------------------------
MichD
--------------------------------------------
"j@c" a écrit dans le message de groupe de discussion : 4e5a2088$0$13020$426a...@news.free.fr...
"MichD" <mich...@hotmail.com> a écrit dans le message de groupe de
discussion : j3bime$9hu$1...@speranza.aioe.org...
> Et pourquoi ne traites-tu pas ces pages en HTML en utilisant le programme
> "Word" par exemple ?
> En quoi l'application "Internet Explorer" est-elle essentielle dans la
Il n'y a rien comme tel comme travailler à partir d'un exemple concret.
MichD
--------------------------------------------
"j@c" a écrit dans le message de groupe de discussion : 4e5d2b33$0$20748$426a...@news.free.fr...