Ich möchte die MSHTML-Bibliothek verwenden, um einige HTML zu analysieren, die ich in einer Zeichenfolge-Variable habe. Ich kann jedoch nicht herausfinden, wie das geht. Ich kann den Inhalt einer Webseite mit einer bekannten URL, aber nicht direkt mit der Quell-HTML direkt analysieren. Ist das möglich? Wenn das so ist, wie?MSHTML: CreateDocumentFromString anstelle von 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'
....
Nice! Hinweis für andere: Ich habe einen Kompilierfehler in VBA erhalten, als ich versuchte, 'Odoc As HTMLDocument' zu deklarieren: * Kompilierfehler: Funktion oder Schnittstelle als eingeschränkt markiert, oder die Funktion verwendet einen Automatisierungstyp, der in Visual Basic * nicht unterstützt wird. Die Änderung der Deklaration zu 'Odoc As Object' (wie diese Antwort deutlich zeigt) behob das Problem. – mwolfe02
Ja, ich stimme zu, schön ist das Wort. – Fionnuala
@Alex: Ich hoffe, es macht Ihnen nichts aus, aber ich habe Ihre Antwort so bearbeitet, dass sie eine Möglichkeit enthält, die Bibliothek spät zu sperren. Es ist nicht naheliegend und hat mir etwas Zeit genommen, über das Internet zu finden. – mwolfe02