Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

HTMLDocument als Variable an WebBrowser1 übergeben

HTMLDocument als Variable an WebBrowser1 übergeben
14.10.2014 17:20:53
Martin
Hallo,
ich beabsichtige HTML-Seiten dynamisch als Object-Variable (HTMLDocument) zu erzeugen und in einem WebBrowser-Control in einem UserForm zu laden. Im Prinzip habe ich das auch hinbekommen (siehe Code), aber kann ich die HTMLDocument-Variable auch direkt an das WebBrowser-Control übergeben? Mir erscheint es etwas umständlich, dass der HTML-Code "abgeschrieben" wird:
Private Sub UserForm_Initialize()
Dim objHTMLDoc As Object
'Set objHTMLDoc = New HTMLDocument 'early binding
Set objHTMLDoc = CreateObject("htmlfile")  'late binding
With objHTMLDoc
.Open
.write "Das ist ein sinnloser HTML-Text eines virtuellen HTMLDocuments"
.Close
End With
With WebBrowser1
.Navigate "about:blank"
.Document.write objHTMLDoc.documentElement.outerHTML
.Document.Close
End With
End Sub
Statt der Zeile
WebBrowser1.Document.write objHTMLDoc.documentElement.outerHTML
...müsste es doch etwas geben wie...
WebBrowser1.Document = objHTMLDoc
Ich bin nur neugierig, ob ich mich einfach etwas umständlich anstelle.
Viele Grüße
Martin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
HTMLDocument als Variable an WebBrowser1 übergeben
14.10.2014 17:29:18
Anton
Hallo Martin,
meinst du so?:
WebBrowser1.document.body.innerHTML = "dein HTML-Text"

mfg Anton

AW: HTMLDocument als Variable an WebBrowser1 übergeben
14.10.2014 17:36:39
Martin
Hallo Anton,
vielen Dank für deine schnelle Antwort. Anscheinend habe ich mein Anliegen zu vereinfacht _ dargestellt. Es geht mir am Ende darum, dass ich eine Object-Variable (HTML-Document) per Function direkt an das WebBrowser-Control übergeben will. Es interessiert mich also, ob es etwas wie

WebBrowser1.Document = objHTMLDoc
gibt (...ohne, dass das WebBrowser-Document neu geschrieben werden muss).
Viele Grüße
Martin

Anzeige
Ein HTMLDocument ist Text und kann als ...
14.10.2014 17:44:33
Luc:-?
…solcher durchaus in einer Variablen angelegt sein, Martin;
das hatte wohl Anton gemeint, während du ein Objekt meinst. Das sollte gehen, wenn sowohl objHTMLDoc als auch WebBrowser1.Document geeignete Objekte gleichen Typs sind. In VBA dann allerdings mit Set-Befehl. Probier's einfach mal aus!
Gruß, Luc :-?

...bitte sieh dir mal folgenden Code an....
14.10.2014 18:03:29
Martin
Hallo Luc,
auch dir vielen Dank für deine Hilfsbereitschaft. Dass ich den HTML-Code einfach als String-Variable übergeben könnte, ist mir auch klar. Aber wie kann ich das HTML-Dokument als Object-Variable (HTMLDocument) übergeben? Ich habe es mit folgenden Code-Varianten probiert (der 1. Versuch musste schiefgehen, aber ich wollte die von dir angesprochene Set-Anweisung auch mal ausprobieren, oder meintest du etwas anderes?):
Private Sub UserForm_Initialize()
Dim objHTMLDoc As Object
Set objHTMLDoc = New HTMLDocument 'early binding
With objHTMLDoc
.Open
.write "Das ist ein sinnloser HTML-Text eines virtuellen HTMLDocuments."
.Close
End With
With WebBrowser1
.Navigate "about:blank"
'1. Versuch
Set .Document = objHTMLDoc
'2.Versuch
.Document = objHTMLDoc
End With
End Sub
Anders herum würde es ja gehen:
Private Sub UserForm_Initialize()
Dim objHTMLDoc As Object
With WebBrowser1
.Navigate "about:blank"
Set objHTMLDoc = .Document
End With
With objHTMLDoc
.Open
.write "Das ist ein sinnloser HTML-Text eines virtuellen HTMLDocuments."
.Close
End With
End Sub
Viele Grüße
Martin

Anzeige
AW: HTMLDocument als Variable an WebBrowser1 übergeben
14.10.2014 18:23:23
Anton
Hallo Martin,
du musst IMHO nicht HTML-Document an das WebBrowser-Control übergeben,
es reicht, wenn du dein HTML-Text übergibst, etwa so:
Private Sub UserForm_Initialize()
With Me.WebBrowser1
.Navigate "about:blank"
Do
DoEvents
Loop Until .Busy = False
.Document.body.innerHTML = "dein HTML-Text"
End With
End Sub
Private Sub CommandButton1_Click()
Me.WebBrowser1.Document.body.innerHTML = "mein HTML-Text"
End Sub

mfg Anton

AW: HTMLDocument als Variable an WebBrowser1 übergeben
14.10.2014 18:42:04
Martin
Hallo Anton,
okay, dann schreibe ich den HTML-Code in Zukunft entweder direkt in eine String-Variable oder übergebe wie bisher den HTML-Code mit Auslesens der HTMLDocument-Objectvariable. Vielen Dank für deine Bemühungen.
Viele Grüße
Martin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige