Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 4/2001.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Internetbrowser mit Bookmarkverwaltung

Autor: André Minhorst, Duisburg

Das Internet ist ein ständig größer und komplexer werdendes Medium. Jeden Tag kommen neue Angebote hinzu und alte Seiten verschwinden aus dem World Wide Web. Hier ist es schwierig, den Überblick zu behalten - zumindest mit herkömmlichen Mitteln. Der vorliegende Workshop beschäftigt sich mit dem Webbrowser-Steuerelement von Microsoft und den Möglichkeiten, die Access zum Verwalten der Lesezeichen zu Ihren Lieblings-websites bietet.

Der Internet Explorer und seine Favoriten

Der Microsoft Internet Explorer ist derzeit das am weitesten verbreitete Tool zur Anzeige von Internetseiten. Er bietet alle erforderlichen Funktionen, um bequem durch das Internet zu navigieren.

Wenn der Anwender eine Seite findet, die er gerne später noch einmal aufrufen möchte, kann er die Adresse der Seite einfach in einem Ordner namens Favoriten speichern. Bei dem Ordner handelt es sich prinzipiell um einen herkömmlichen Ordner, der Verknüpfungen zu verschiedenen Objekten speichert. Zu den Objekten gehören neben Anwendungen, Dokumenten und Verzeichnissen auch Internetadressen.

Leider können Sie in dem Ordner aber nur die gewünschte Adresse und einen geeigneten Namen speichern. Schon wenn Sie sich beispielsweise ein paar Notizen zu den unterschiedlichen Internetangeboten machen möchten, müssen Sie zu Bleistift und Notizblock greifen.

Zusätzlich speichert der Internet Explorer noch einige weitere Informationen. Dabei handelt es sich z. B. um die zuletzt aufgerufenen Internetadressen der aktuellen Sitzung für die aktive Instanz des Internet Explorers. Sie können auf die Liste dieser Seiten zugreifen, indem Sie auf die kleine Schaltfläche mit dem Pfeil nach unten klicken, die sich rechts neben der Zurück-Schaltfläche befindet.

Außerdem können Sie auf eine Liste häufig geladener Seiten zugreifen, indem Sie das Kombinationsfeld mit der aktuellen Adresse öffnen.

Lesezeichen und Internetseiten verwalten mit Access

Access eignet sich prinzipiell zur Verwaltung aller nur denkbaren Daten - sofern sie sich in digitaler Form befinden. Daher ist auch die Verwaltung der Lesezeichen und der aufgerufen Internetseiten grundsätzlich möglich.

Wenn Sie eine Tabelle mit Lesezeichen anlegen, ist es auch kein Problem, die Lesezeichen zu kategorisieren oder Kommentare zu den dahinter steckenden Internetseiten abzuspeichern. Damit hätten Sie den Favoriten des Internet Explorers schon einiges voraus.

Das einzige Problem ist nun: Wie bekommen Sie die Adressen der aufgerufenen Seiten in Ihre Datenbank?

Das Webbrowser-Steuerelement

Die Antwort ist ganz einfach: Basteln Sie sich einfach Ihren eigenen Browser. Voraussetzung dafür ist, dass sich das Webbrowser-Steuerelement auf Ihrem Rechner befindet. Das Webbrowser-Steuerelement ist auf jeden Fall installiert, wenn Sie mit dem Microsoft Internet Explorer arbeiten.

Falls Sie nicht mit dem Internet Explorer arbeiten, können Sie sich die benötigten Dateien von der Internetseite http://www.microsoft.de/ herunterladen. (Microsoft erlaubt uns leider nicht, diese Dateien auf die CD zu nehmen.) Nach der Installation des Internet Explorers ist das ActiveX-Control Webbrowser-Steuerelement automatisch verfügbar.

Datenbank mit
Browserfunktion

Im diesem Kapitel lernen Sie zunächst das Webbrowser-Control und seine Funktionen kennen.

Im folgenden Kapitel kommt dann Access zur Geltung: Sie erfahren dort, wie Sie der zum Internetbrowser umfunktionierten Datenbank eine komfortable Lesezeichen- und Historieverwaltung hinzufügen.

Vorbereitungen

Bevor Sie sich auf das Webbrowser-Control stürzen, sollten Sie zunächst einmal eine neue Datenbank anlegen. Anschließend erstellen Sie direkt ein neues Formular, speichern es unter dem Namen frmInternetBrowser, und öffnen es in der Entwurfsansicht.

Einfügen des
Webbrowser-Steuerelements

Nun können Sie bereits das entsprechende ActiveX-Control in das Formular einfügen. Dazu gibt es zwei Möglichkeiten. Als erste Möglichkeit klicken Sie mit der Maus auf das Symbol Weitere Steuerelemente unten rechts in der Toolbox. Daraufhin erscheint eine Liste aller verfügbaren zusätzlichen Steuerelemente (s. Abb. 1).

Abb. 1: Auswahl des Webbrowser-Steuerelements

Mit den beiden Pfeil-Symbolen können Sie nach unten und oben scrollen. Mit wachsender Anzahl installierter Anwendungen kann auch die Anzahl der verfügbaren Steuerelemente rapide zunehmen, sodass Sie schon eine Weile brauchen, bis Sie das gewünschte Steuerelement gefunden haben.

Wenn es dann soweit ist, können Sie es mit einem einfachen Mausklick auswählen und anschließend ein Rechteck in dem Formular aufziehen, um das Steuerelement einzufügen (s. Abb. 2).

Geben Sie sich nicht so viel Mühe beim Anpassen der Größe - beim ersten Versuch erstellt Access das Objekt ohnehin in der Standardgröße.

Die zweite Möglichkeit ist der Aufruf des Dialogs ActiveX-Steuerelement einfügen über den Menübefehl Einfügen ( ActiveX-Steuerelement ... (s. Abb. 3).

Hier können Sie mit Hilfe der Bildlaufleisten wesentlich schneller als mit der ersten Möglichkeit zum gewünschten Steuerelement gelangen.

Nachdem Sie das Steuerelement auf dieses Weise angelegt haben, ändern Sie zunächst einmal seinen Namen. Im Register Andere des Eigenschaftsfenster finden Sie den entsprechenden Eintrag. Weisen Sie ihm den Wert ctlInternetBrowser zu.

Anzeigen einer Seite im Webbrowser-Control

Sicher möchten Sie nun so schnell wie möglich Ergebnisse sehen. Damit das Browserfenster direkt beim Öffnen eine Seite anzeigt, müssen Sie eine Prozedur für die Ereigniseigenschaft Beim Klicken hinterlegen.

Aktivieren Sie also das Formular, indem Sie auf den Schnittpunkt der beiden Lineale klicken und aktivieren Sie das Eigenschaftsfenster.

Im Register Daten klicken Sie auf die Eigenschaft Beim Anzeigen. Daraufhin erscheint eine Schaltfläche mit drei Punkten [...]. Mit einem Klick auf die Schaltfläche öffnen Sie den Dialog Editor auswählen. Wählen Sie hier den Eintrag Code-Editor aus.

Sie können nun im Codefenster zwischen die beiden Zeilen Private... und End... die folgende Anweisung einfügen:

Me!ctlInternetBrowser.GoHome

Zusätzlich führen Sie bitte noch den folgenden Schritt durch:

Wählen Sie - während das Codefenster geöffnet ist - den Menübefehl Extras ( Verweise... aus. Hier müssen Sie den Eintrag Microsoft Internet Controls aktivieren (s. Abb. 4). Haken Sie bei dieser Gelegenheit auch direkt den Eintrag Microsoft HTML Object Library mit ab.

Nachdem Sie das Codefenster geschlossen haben, können Sie nun in die Formularansicht wechseln. Wenn Sie mit Access 97 arbeiten, stellt sich das gewünschte Ergebnis - die Anzeige einer Internetseite - möglicherweise nicht ein. Stattdessen erscheint eine Fehlermeldung (s. Abb. 5), gefolgt von einer zweiten (s. Abb. 6).

Abb. 5: Der ersten Fehlermeldung...

Abb. 6: ...folgt die zweite auf den Fuß.

Der Grund liegt darin, dass Access 97 auf die Anwendung einer bestimmten Version der Bibliothek Shdocvw.dll ausgelegt ist und nicht mit einer aktuelleren Version zusammenarbeiten möchte. Gehen Sie in dem Fall folgendermaßen vor:

  • Wechseln Sie wieder in die Entwurfsansicht.
  • Ändern Sie die Größe des Webbrowser-Steuerelements.
  • Schneiden Sie das Steuerelement aus.
  • Fügen Sie das Steuerelement wieder in das Formular ein.
  • Nach der Durchführung der Schritte können Sie ohne Probleme in die Formularansicht wechseln. Das Webbrowser-Steuerelement zeigt nun die gewünschte Internetseite an.

    Sie müssen sich mit noch einem weiteren Bug anfreunden, der für Access 97 und ebenso für Access 2000 gilt: Wenn Sie die Größe des Webbrowser-Steuerelements ändern, erscheint in der Entwurfsansicht zunächst die korrekte Größe. Wechseln Sie aber in die Formularansicht, erscheint das Steuerelement in der voreingestellten Größe.

    Dagegen gibt es nur ein wirksames Mittel:

  • Merken Sie sich eventuell bereits vorgenommene Änderungen an den Eigenschaften des Steuerelements.
  • Löschen Sie das Steuerelement.
  • Fügen Sie ein neues Steuerelement ein.
  • Passen Sie die Größe an, bevor Sie erneut in die Formularansicht wechseln.
  • Diese Prozedur müssen Sie leider bei jeder Änderung des Steuerelements durchführen. Also, um sicherzugehen:
  • Steuerelement einfügen, Größe anpassen, Steuerelement ausschneiden, Steuerelement wieder einfügen - Fertig! Nun können Sie die gewünschte Seite endlich im Formular anzeigen (s. Abb. 7).
  • Private Sub cmbURL_AfterUpdate()

        On Error Resume Next

        If Len(Me.cmbURL) > 0 Then

            Me!ctlInternetBrowser.Navigate Me.cmbURL

        End If

    End Sub

  • Sie sparen sich eine Menge Arbeit, wenn Sie sich über die gewünschte Größe vor der Erstellung des Steuerelements im Klaren sind.
  • Günstig ist es, wenn Sie über einen relativ großen Monitor verfügen und das Steuerelement auf eine Größe von etwa 800 x 600 Punkten bringen. So können Sie die meisten herkömmlichen Seiten übersichtlich anzeigen.
  • Internetbrowser mit Funktionen versehen

    Nun können Sie den Browser mit den wichtigsten Funktionen ausrüsten, z. B. Navigationsschaltflächen, einem Kombinationsfeld für die gewünschte Adresse usw.

    Einfügen von Navigationsschaltflächen

    Fügen Sie zunächst einige Schaltflächen in das Formular ein. Sie benötigen je eine Schaltfläche zur Anzeige der vorherigen und der nächsten Seite, zum Aktualisieren der aktuellen Seite, zum Anhalten des Ladevorgangs und zum Anzeigen einer voreingestellten Startseite.

    Kombinationsfeld zur Eingabe von Internetadressen

    Außerdem benötigen Sie ein Kombinationsfeld, in dem der Anwender die gewünschte Seite eingeben kann.

    Nachdem Sie das Kombinationsfeld erstellt haben, ändern Sie seinen Namen auf cmbURL. Damit Sie es direkt ausprobieren können, legen Sie für die Ereigniseigenschaft Nach Aktualisierung Prozedur aus Quellcode 1 an.

    Die Prozedur fragt ab, ob das Kombinationsfeld nicht leer ist und lädt anschließend das Dokument von der angegebenen Adresse.

    Durch die History blättern

    Nun kümmern Sie sich um die History: Schließlich möchten Sie hin und wieder mal zu einer vorherigen Seite und auch wieder zurück springen.

    Dazu erstellen Sie zwei Schaltflächen, die Sie wahlweise mit dem Kleiner- [<] und dem Größer-Zeichen [>] oder einem aussagekräftigen Text ausstatten können. Geben Sie den beiden Schaltflächen in jedem Fall die Bezeichnungen btnBack und btnForward.

    Nun müssen Sie noch die beiden Schaltflächen mit ein wenig Code versehen. Hinterlegen Sie für die Ereigniseigenschaft Beim Klicken der Schaltfläche btnBack die folgende Prozedur:

    Private Sub ctlInternetBrowser_TitleChange (ByVal Text As String)

        Forms!frmInternetBrowser.Caption = Text

    Private Sub ctlInternetBrowser_DocumentComplete (ByVal pDisp As Object, _
        URL As Variant)

        Me!cmbURL = Me!ctlInternetBrowser.LocationURL

    Private Sub btnBack_Click()

        On Error Resume Next

        Me!ctlInternetBrowser.GoBack

    End Sub

    Ebenso gehen Sie mit der Schaltfläche btnForward vor. Hier verwenden Sie die folgende Prozedur:

    Private Sub btnForward_Click()

        On Error Resume Next

        Me!ctlInternetBrowser.GoForward

    End Sub

    Anzeige des Seitentitels in der Formulartitelzeile

    Die Titelzeile des Formulars soll den Titel der aktuellen Seite anzeigen - sofern die Seite einen Titel hat. Dazu müssen Sie eine Ereigniseigenschaft für das Webbrowser-Steuerelement programmieren.

    Dabei gibt es einen kleinen Unterschied zu herkömmlichen Steuerelementen: Wenn Sie mit einem ActiveX-Steuerelement arbeiten, können Sie unter Umständen nicht alle Ereigniseigenschaften des Steuerelements über das Eigenschaftsfenster einsehen. Sie müssen stattdessen zunächst das Code-Fenster öffnen.

    Das tun Sie am besten in der Entwurfsansicht über die entsprechende Schaltfläche Code oder über den Menübefehl Ansicht ( Code. Im oberen Teil des Codefensters finden Sie zwei Kombinationsfelder vor:

    Eines für die Anzeige der Objekte des aktuellen Formulars und ein weiteres für die Anzeige der zur Verfügung stehenden Ereignisse des ausgewählten Objekts (s. Abb. 8).

    Das Webbrowser-Steuerele-ment löst das Ereignis TitleChange aus, wenn der Titel der aktuellen Seite verfügbar ist. Sie können die Ereignisprozedur dazu verwenden, der Titelleiste des Formulars den Titel des HTML-Dokumentes zuzuweisen. Verwenden Sie dazu die Prozedur aus Quellcode 2.

    Private Sub cmbURL_NotInList(NewData As String, _
        Response As Integer)

        Dim db As Database

        Dim rst As Recordset

        Set db = CurrentDb

        Set rst = db.OpenRecordset ("tblURL", dbOpenDynaset)

        rst.AddNew

        rst!URL = NewData

        rst.Update

        rst.Close

        db.Close

        Response = acDataErrAdded

    Abb. 10: Datenherkunft des Kombinationsfeldes

    Anzeige der
    kompletten
    Internetadresse im Kombinationsfeld

    Neben dem Seitentitel soll das Formular auch die komplette Adresse der HTML-Seite anzeigen. Zur Anzeige der Adresse verwenden Sie einfach das Kombinationsfeld cmbURL, in das Sie auch die gewünschte Adresse eingegeben haben.

    Damit das Kombinationsfeld die komplette Adresse anzeigt, verwenden Sie die Ereigniseigenschaft DocumentComplete. Hinterlegen Sie die Prozedur aus Quellcode 3 für die Eigenschaft.

    Speichern der
    Adressen im Kombinationsfeld

    Für die bisherigen Anwendungen hätten Sie sicher auch ein Textfeld statt eines Kombinationsfeldes verwenden können. Nun sollen Sie das Kombinationsfeld mit Leben füllen. Zunächst einmal erstellen Sie eine Tabelle, die als Grundlage für die Datenherkunft des Kombinationsfeldes dient.

    Nennen Sie die Tabelle tblURL und legen Sie zwei Felder entsprechend der Abb. 9 an.

    Anschließend wechseln Sie in die Entwurfsansicht des Formulars und klicken in das Feld Datensatzherkunft im Register Daten des Eigenschaftsfensters. Klicken Sie dann auf die Schaltfläche mit den drei Punkten [...].

    Fügen Sie dem Abfrageentwurf die Tabelle cmbURL hinzu und ziehen Sie das Feld URL in das Entwurfsraster (s. Abb. 10).

    Speichern Sie anschließend die Abfrage unter dem Namen qryURL.

    Private Sub btnQuellcode_Click()

        Dim Quellcode As MSHTML.HTMLDocument

        Set Quellcode = Me!ctlInternetBrowser.Document

        DoCmd.OpenForm "frmQuellcode"

        Forms("frmQuellcode").Caption = "HTML-Quellcode"

        Forms("frmQuellcode").txtQuellcode = _
            Quellcode.DocumentElement.InnerHTML

        Set Quellcode = Nothing

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    Verwandte Beiträge:

    Google Earth ferngesteuert, Teil II

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.