Breite anpassen Webbrowser-Element in Excel
Schritt-für-Schritt-Anleitung
-
Userform erstellen: Öffne Excel und erstelle eine Userform.
-
WebBrowser-Element hinzufügen: Füge ein WebBrowser-Steuerelement zu Deiner Userform hinzu. Dies kannst Du über die Toolbox machen.
-
Code für die Anpassung: Füge einen CommandButton zur Userform hinzu und schreibe den folgenden Code:
Private Sub CommandButton1_Click()
Me.WebBrowser1.Navigate "about:blank"
Do
DoEvents
Loop Until Me.WebBrowser1.Document.ReadyState = "complete"
bild = "E:\Temp\Cats.jpg" ' Pfad zur Bilddatei
Set objShell = CreateObject("Shell.Application")
ordner = Left(bild, InStrRev(bild, "\"))
Set objFolder = objShell.Namespace(ordner)
Set objbild = objFolder.ParseName(Mid(bild, InStrRev(bild, "\") + 1))
' Breite des Bildes ermitteln
For i = 0 To 300
If objFolder.GetDetailsOf(, i) = "Abmessungen" Then
breite = Split(objFolder.GetDetailsOf(objbild, i), " ")(0)
Exit For
End If
Next
' Breite anpassen
If breite > Me.WebBrowser1.Width Then
msg = "<img src='" & bild & "' width='100%'>"
Else
msg = "<img src='" & bild & "'>"
End If
Me.WebBrowser1.Document.body.innerhtml = msg
End Sub
-
Code anpassen: Ersetze den Bildpfad mit dem Pfad zu Deiner Datei.
-
Testen: Führe die Userform aus und teste die Funktionalität.
Häufige Fehler und Lösungen
-
Fehler 438: Wenn Du die Fehlermeldung 438 erhältst, bedeutet das, dass die Eigenschaft nicht unterstützt wird. Stelle sicher, dass Du das korrekte Steuerelement (WebBrowser) verwendest. Das PictureSizeMode ist nicht für das WebBrowser-Steuerelement verfügbar.
-
Bilder werden nicht geladen: Überprüfe den Bildpfad und stelle sicher, dass die Datei existiert. Das Bild muss in einem unterstützten Format vorliegen.
Alternative Methoden
Wenn Du das Aussehen des Bildes weiter anpassen möchtest, kannst Du auch CSS-Stile verwenden. Statt die Breite allein anzupassen, kannst Du dem Bild auch eine maximale Höhe geben, um die Lesbarkeit zu verbessern.
<img src="E:\Temp\Cats.jpg" style="max-width:100%; height:auto;">
Praktische Beispiele
Hier sind einige Beispiele, wie Du den WebBrowser
in VBA anpassen kannst:
-
PDF-Dokumente laden: Um PDF-Dateien anzuzeigen, kannst Du die WebBrowser1.Navigate
Methode verwenden und den Pfad zur PDF-Datei angeben.
Me.WebBrowser1.Navigate "C:\Pfad\zur\deiner\Datei.pdf"
-
Dynamische Bildanpassung: Der oben gezeigte Code ermöglicht es Dir, Bilder dynamisch je nach Breite anzupassen.
Tipps für Profis
-
Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass der Benutzer über Probleme informiert wird, falls das Bild nicht geladen werden kann.
-
Optimierung der Ladezeiten: Versuche, die Ladezeiten zu optimieren, indem Du die Bilder komprimierst oder in einem schnelleren Format speicherst.
-
Nutzung von webbrowser1.navigate vba
: Erkunde die Navigate
-Funktion weiter, um Websites oder Online-Inhalte direkt in Deinem Excel-Webbrowser anzuzeigen.
FAQ: Häufige Fragen
1. Wie kann ich die Breite des WebBrowser-Elements ändern?
Du kannst die Breite des WebBrowser-Elements über die Eigenschaften der Userform im Design-Modus anpassen.
2. Funktioniert das auch in Excel 2016?
Ja, die beschriebenen Methoden sind mit Excel 2010 und höher kompatibel, einschließlich Excel 2016.
3. Was kann ich tun, wenn das WebBrowser-Steuerelement nicht angezeigt wird?
Stelle sicher, dass Du die richtigen Verweise in Deinem VBA-Projekt gesetzt hast. Es könnte notwendig sein, die Handhabung von ActiveX-Steuerelementen in den Excel-Einstellungen zu aktivieren.
4. Kann ich auch Videos einbinden?
Ja, Du kannst Videos im WebBrowser-Element einbinden, indem Du den entsprechenden HTML-Code verwendest.