Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Werkzeug
BildScreenshot zu Werkzeug Werkzeug-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema WebBrowser
BildScreenshot zu WebBrowser WebBrowser-Seite mit Beispielarbeitsmappe aufrufen

Breite anpassen Webbrowser-Element | Herbers Excel-Forum


Betrifft: Breite anpassen Webbrowser-Element von: KLE
Geschrieben am: 04.01.2012 13:48:13

Hi,

...noch eine Frage heut. Ich habe eine Userform mit einem WebBrowser-Element, welches Bilder und PDFs anzeigt, die der User zuvor in einer Liste markiert hat. Nun sind die Dokumente z.T. leider sehr unterschiedlich in derer Breite und Auflösung.

Kann man es so einstellen, dass das geladene Bild/Datei wenn es breiter ist wie das Webbrowser-Element, auf die Breite gezoomt wird ?!? Um das scrollen in der Breite unnötig zu machen und vor allem, einen schnelleren Überblick über das Dokument zu erhalten!
Kleinere Bilder brauchen da nicht angepasst werden....

Gruß und Danke für Eure Anregungen und Hilfen...
Gruß
Kay

  

Betrifft: AW: Breite anpassen Webbrowser-Element von: Beverly
Geschrieben am: 05.01.2012 08:28:24

Hi Kay,

stelle die Eigenschaft PictureSiceMode auf fmPictureSizeModeZoom. Damit werden allerdings alle Bilder an die Größe des Steuerelementes angepasst


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: kann ich die Eigenschaft nicht finden von: KLE
Geschrieben am: 06.01.2012 19:45:54

Habe bei den Eigenschaften vom Element "WebBrowser" kein Feld: PictureSiceMode ?!?
Und wenn ich per Code dem Element die Eigenschaft vergeben will, erhalte ich die Fehlermeldung 438, dass die Eigenschaft von dem Objekt nicht unterstztütz wird.

Gibt es neben den "Standard-Element" in der Werkzeugleiste ein anderes WebBrowser-Element?

Gruß und Danke...
Kay


  

Betrifft: AW: kann ich die Eigenschaft nicht finden von: Beverly
Geschrieben am: 06.01.2012 19:55:44

Hi Kay,

sorry, da hatte ich deine Frage nicht richtig durchgelesen - ich bin von einem Image-Steuerelement und nicht von einem WebBrowser-Steuerelement ausgegangen.

Ich lasse die Frage offen.


GrußformelBeverly's Excel - Inn


  

Betrifft: Breite anpassen Webbrowser-Element von: Anton
Geschrieben am: 08.01.2012 12:18:30

Hallo Kay,

so?:

Code:

Private Sub CommandButton1_Click()  
  Me.WebBrowser1.Navigate "about:blank"
  Do
    DoEvents
  Loop Until Me.WebBrowser1.Document.ReadyState = "complete"    
  bild = "E:\Temp\Cats.jpg" 'anpassen
  msg = "<img src='" & bild & "' width='100%' height='100%'>"
  Me.WebBrowser1.Document.body.innerhtml = msg
End Sub  



mfg Anton


  

Betrifft: Nicht schlecht, aber wie kann ich die... von: KLE
Geschrieben am: 10.01.2012 11:10:28

Höhe des Bildes unverändert lassen?

D.h. ich möchte nicht beides (Höhe und Breite) anpassen auf das WebBrowser-Element, sondern nur die Breite. Denn sonst sind meine A4-Grafiken sehr "gestaucht" und dann kann man sie nicht richtig lesen.

Ich möchte halt gern, dass kleine Grafiken normal angezeigt und große Grafiken in Ihrer Breite angepasst werden. Das scrollen nach unten kann ruhig bleiben...

Wie ermittle ich von der zuladenden JPG-Datei die Breite und Höhe in Pixel, um diese dann entsprechend Deinem Code zu übergeben, wenn Sie größer sind, wie das Browser-Element.

Gruß und Danke
Kay


  

Betrifft: Nur Breite von: Anton
Geschrieben am: 10.01.2012 18:00:59

Hallo Kay,

probier sowas:

Code:

Private Sub CommandButton1_Click()  
  Me.WebBrowser1.Navigate "about:blank"
  Do
    DoEvents
  Loop Until Me.WebBrowser1.Document.ReadyState = "complete"    
  bild = "E:\Temp\Cats.jpg" 'anpassen
  If Len(Dir(bild, vbNormal)) = 0 Then Exit Sub    
  Set objShell = CreateObject("Shell.Application")  
  ordner = Left(bild, InStrRev(bild, "\"))
  Set objFolder = objShell.Namespace(ordner)
  Set objbild = objFolder.ParseName(Mid(bild, InStrRev(bild, "\") + 1))  
  For i = 0 To 300  
    If objFolder.GetDetailsOf(, i) = "Abmessungen" Then  
      breite = Split(objFolder.GetDetailsOf(objbild, i), " ")(0)
      Exit For  
    End If  
  Next
  Set objShell = Nothing  
  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  




mfg Anton


Beiträge aus den Excel-Beispielen zum Thema "Breite anpassen Webbrowser-Element"