Neben den vielen einfachen Steuer-element, die in Access verfügbar sind, findet sich auch eines, mit dem Sie die Inhalte von Internetseiten in Access-Formularen anzeigen können: das Webbrowser-Steuerelement. Dieses Steuer-element ist bis Access 2007 noch kein fester Bestandteil von Access gewesen und musste als ActiveX-Steuerelement nachgerüstet werden. Seit Access 2010 jedoch können Sie mit dem eingebauten Steuer-element arbeiten und können den einen oder anderen Vorteil nutzen – unter anderem die Möglichkeit, das Steuer-element an ein Feld als Datenquelle zu binden.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1801_WebbrowserSteuerelement.accdb.
Webbrowser-Steuerelement hinzufügen
Wenn Sie ein Formular mit dem Webbrowser-Steuerelement ausstatten wollen, wählen Sie in der Entwurfsansicht des Formulars im Ribbon den Eintrag Entwurf|Steuerelemente|Webbrowsersteuerelement aus (siehe Bild 1).
Bild 1: Auswahl des Webbrowser-Steuerelements über das Ribbon
Klicken Sie auf diesen Eintrag, können Sie wie in Bild 2 einen Rahmen aufziehen, der die Größe des einzufügenden Webbrowser-Steuerelements markiert. Anschließend erscheint das Steuer-element als rechteckiger Rahmen mit dem Text Ungebunden als einzigem Inhalt.
Bild 2: Einfügen des Webbrowser-Steuerelements
Eigenschaften des Webbrowser-Steuerelements
Schauen wir uns die Eigenschaften des neuen Steuerelements im Eigenschafts-Fenster an, finden wir keine besonderen neuen Eigenschaften, durch die sich das Steuer-element von anderen Steuerelementen wie etwa dem Textfeld abheben würde – allein die Seite mit den Ereigniseigenschaften liefert ein paar unbekannte Einträge (siehe Bild 3). Dazu gehören etwa die Eigenschaften Bei Vor Navigieren, Bei Dokument vollständig, Bei Navigationsfehler oder Bei Fortschrittsänderung. Auf der Registerseite Daten finden Sie die übliche Eigenschaft Steuerelementinhalt sowie die allein dem Webbrowser-Steuerelement vorbehaltene Eigenschaft Transformation. Auf der Seite Format fallen uns die beiden Eigenschaften Bildlauf zum Anfang durchführen und Bildlauf nach links durchführen auf – wir schauen uns gleich an, ob diese speziell für das Webbrowser-Steuerelement gedacht sind.
Bild 3: Ereigniseigenschaften des Steuerelements
Eine Eigenschaft, die wir auf jeden Fall zu Beginn festlegen, heißt Name und nimmt den Wert ctlWeb-browser an.
VBA-Befehle des Webbrowser-Steuerelements
Fügen wir nun dem Formular ein Klassenmodul hinzu und legen die Ereignisprozedur Beim Laden für das Formular selbst an. Dann können wir über die Eingabe von Me!ctlWebbrowser und anschließendem Betätigen der Punkt-Taste per IntelliSense die vorhandenen Elemente für das Webbrowser-Steuerelement ansehen.
Noch einfacher gelingt das natürlich über den Objektkatalog, der wie in Bild 4 nach der Eingabe des Suchbegriffs WebbrowserControl die Eigenschaften, Methoden und Ereignisse dieses Steuerelements anzeigt. Hier finden wir die folgenden für das Webbrowser-Steuerelement spezifischen Elemente:
Bild 4: Objektkatalog mit den Elementen des Webbrowser-Steuerelements
- BeforeNavigate2: Ereignis, das vor dem Laden der Seite ausgelöst wird. Dieses Ereignis und somit das Laden der Internetseite kann durch Setzen des Parameters Cancel auf den Wert True abgebrochen werden.
- DocumentComplete: Ereignis, das beim vollständigen Laden der Seite ausgelöst wird.
- LocationURL: Eigenschaft
- NavigateError: Ereignis, das beim Auftreten eines Fehlers ausgelöst wird.
- OnBeforeNavigate: Ereigniseigenschaft
- OnDocumentComplete: Ereigniseigenschaft
- OnNavigateError: Ereigniseigenschaft
- OnProgressChange: Ereigniseigenschaft
- ProgressChange: Ereignis, das beim ändern des Fortschritts ausgelöst wird.
- ReadyState: Eigenschaft
Ereignisse erforschen
Um die Ereigniseigenschaften des Webbrowser-Steuerelements zu erforschen, legen wir diese einfach alle einmal an und fügen zunächst jeweils eine Debug.Print-Anweisung hinzu, welche den Namen des Ereignisses ausgibt (siehe Listing 1).
Private Sub ctlWebbrowser_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, flags As Variant, TargetFrameName As Variant, _ PostData As Variant, Headers As Variant, Cancel As Boolean) Debug.Print "BeforeNavigate2" End Sub Private Sub ctlWebbrowser_DocumentComplete(ByVal pDisp As Object, URL As Variant) Debug.Print "DocumentComplete" End Sub Private Sub ctlWebbrowser_NavigateError(ByVal pDisp As Object, URL As Variant, TargetFrameName As Variant, _ StatusCode As Variant, Cancel As Boolean) Debug.Print "NavigateError" End Sub Private Sub ctlWebbrowser_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long) Debug.Print "ProgressChange" End Sub
Listing 1: Ereignisse des Webbrowser-Steuerelements
Erster Aufruf
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: