Je voudrais utiliser la bibliothèque MSHTML pour analyser du code HTML que j'ai dans une variable de chaîne. Cependant, je ne peux pas comprendre comment faire cela. Je peux facilement analyser le contenu d'une page Web avec une URL connue, mais pas directement avec le code source HTML. Est-ce possible? Si c'est le cas, comment?MSHTML: CreateDocumentFromString au lieu de CreateDocumentFromUrl
Public Sub ParseHTML(sHTML As String)
Dim oHTML As New HTMLDocument, oDoc As HTMLDocument
'This works:'
Set oDoc = oHTML.createDocumentFromUrl("http://www.google.com", "")
'I would like to do the following but no such method actually exists:'
Set oDoc = oHTML.createDocumentFromString(sHTML)
....
'Parse the HTML using the oDoc variable'
....
de Nice! Note aux autres: J'ai reçu une erreur de compilation dans VBA quand j'ai essayé de déclarer 'odoc As HTMLDocument': * Erreur de compilation: Fonction ou interface marquée comme restreinte, ou la fonction utilise un type Automation non supporté dans Visual Basic *. Changer la déclaration en 'odoc As Object' (comme le montre clairement cette réponse) a résolu le problème. – mwolfe02
Oui, je suis d'accord, c'est bien le mot. – Fionnuala
@Alex: J'espère que cela ne vous dérange pas, mais j'ai édité votre réponse pour inclure un moyen de renvoyer la bibliothèque en retard. Ce n'est pas évident et cela m'a pris du temps pour trouver via le web. – mwolfe02