
94451
14.04.2016, aktualisiert um 09:16:41 Uhr
Eigener HTML-Code im UserForm
Hallo,
im Internetz habe ich dieses Script gefunden:
die Public Variable (emailHT) habe ich hinzugefügt...
meine Idee war es den HTML-Code "vorher" zu definieren um dann Später den jeweiligen Inhalt sehen zu können!
leider verwendet er meine "Public Variable" nicht sondern Zeigt keinen Inhalt an... wenn ich den Inhalt an der Stelle hinschreibe (was mir zu Statisch ist) funktioniert alles wie es soll...
*zur info: Ich arbeite im Outlook 2013 auf einen x86 System ... es soll auch nirgendwo anders laufen müssen*
Nachtrag:
noch schöner wäre es über so eine funktion
bekomme hier aber den Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt
Vielen Dank
Gruß
RoadRunner
im Internetz habe ich dieses Script gefunden:
Option Explicit
Private Declare Sub Sleep Lib "kernel32.dll" ( _
ByVal dwMilliseconds As Long)
Private blnLoad As Boolean
Public emailHT As String
Private Sub UserForm_Activate()
WebBrowser1.Navigate2 "about:blank"
Do While blnLoad
DoEvents
Sleep 10
Loop
WebBrowser1.Document.Body.innerHTML = emailHT
End Sub
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _
URL As Variant, Flags As Variant, TargetFrameName As Variant, _
PostData As Variant, Headers As Variant, Cancel As Boolean)
blnLoad = True
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
blnLoad = False
End Sub
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
With WebBrowser1.Document.Body
.Scroll = "no"
.Style.Border = "none"
End With
End Sub
Sub web()
emailHT = "<H1>neuer Inhalt</H1>"
showEmail.Show modal
End Sub
die Public Variable (emailHT) habe ich hinzugefügt...
meine Idee war es den HTML-Code "vorher" zu definieren um dann Später den jeweiligen Inhalt sehen zu können!
leider verwendet er meine "Public Variable" nicht sondern Zeigt keinen Inhalt an... wenn ich den Inhalt an der Stelle hinschreibe (was mir zu Statisch ist) funktioniert alles wie es soll...
kann mir jemand helfen wie ich vorher oder unmittelbar nachher den Inhalt anpassen kann?
*zur info: Ich arbeite im Outlook 2013 auf einen x86 System ... es soll auch nirgendwo anders laufen müssen*
Nachtrag:
noch schöner wäre es über so eine funktion
showEmail.Show modal
With showEmail
.WebBrowser1.Document.Body.innerHTML = "ee"
.Repaint
End With
Vielen Dank
Gruß
RoadRunner
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 301793
Url: https://administrator.de/forum/eigener-html-code-im-userform-301793.html
Ausgedruckt am: 01.05.2025 um 09:05 Uhr
5 Kommentare
Neuester Kommentar

Hallo RoadRunner!
Mit Inhalt starten so...
UserForm1:
Modul:
Gruß Dieter
Mit Inhalt starten so...
UserForm1:
Option Explicit
Private Const READYSTATE_COMPLETE = 4
Public Sub LoadBrowser(ByVal strHtml As String)
With WebBrowser1
.Navigate2 "about:blank"
Do: DoEvents: Loop Until .ReadyState = READYSTATE_COMPLETE
.Document.body.innerHtml = strHtml
End With
Show
End Sub
Private Sub Test()
UserForm1.LoadBrowser "<H1>neuer Inhalt</H1>"
End Sub
Gruß Dieter

Hallo RoadRunner!
In UserForm Codezeile 11:
Mit dem Parameter <vbModeless> kannst Du gleichzeitig weitere UserForms anzeigen, allerdings liegen diese dann übereinander. Bei 2 Fenstern könntest Du die UserForm-Eigenschaft <StartUpPosition> beim Einen auf Fenstermitte und beim Anderen auf Bildschirmmitte setzen. Versuchs mal...
Gruß Dieter
In UserForm Codezeile 11:
Show vbModeless
Gruß Dieter

Hallo RoadRunner!
Alternativ könnte man mehrere Web-Browser-Elemente übereinander legen und diese per ID nach belieben auf Visible=True/False setzen...
Gruß Dieter
mein Problem ist, dass mein "Script" ja immer das "selbe" Form aufruft nur eben mit anderen Inhalt...=> d.h. es wird kein 2. aufgerufen sondern das 1. überschrieben...
Eine 2. UserForm erstellen, indem Du der aktuellen am Ende die Ziffer 2 anhängst und dann exportierst, anschließend die Ziffer 2 in Ziffer 1 umwandelst und die UserForm mit der Ziffer 2 wieder importierst. Danach kannst Du nach Belieben eine oder beide UserFormen gleichzeitig öffnen...Alternativ könnte man mehrere Web-Browser-Elemente übereinander legen und diese per ID nach belieben auf Visible=True/False setzen...
Gruß Dieter