So erstellen Sie einen eigenen grundlegenden Internet-Browser mit VBA

So erstellen Sie einen eigenen grundlegenden Internet-Browser mit VBA / Internet

Wenn Sie wirklich darüber nachdenken, ist ein Internet-Browser in seiner einfachsten Form nicht wirklich beeindruckend für eine Anwendung. Ich meine, ja, das Internet ist für jedermann erstaunlich. Das Konzept, so viele Computer und mobile Geräte der Welt in diesem riesigen Netzwerk zu verbinden, ist episch. Aber das Konzept, eine Textdatei mit speziellem Code zu übertragen und den übertragenen Text auf dem Computerbildschirm anzuzeigen, ist eigentlich keine große Sache.

Dank der eingebetteten Referenzen in Anwendungen, die VBA verwenden, können Sie Webseiten über Ihre eigenen Anwendungen eingeben und ausgeben. Wenn Sie unseren früheren Skripting-Artikeln gefolgt sind, wissen Sie, dass wir VB-Skript und VBA lieben, wie mein Artikel zum Maximieren von Fenstern. 3 Möglichkeiten zum Öffnen von Anwendungen und Windows mit VB-Skript [Windows] 3 Möglichkeiten zum Öffnen von Anwendungen und Windows mit VB Skript [Windows] Wenn es eine Sache gibt, die ich gerne mache, dann schreibe ich VB-Skripte. Unabhängig davon, ob es sich um eine Windows-Skriptdatei oder ein VBA-Skript in einer Anwendung handelt, bietet Scripting die Möglichkeit, Anwendungen zu erweitern… Lesen Sie mehr, Paul's über selbstaktualisierende Diagramme Erstellen von selbstaktualisierenden Excel-Diagrammen in drei einfachen Schritten Excel-Diagramme in drei einfachen Schritten aktualisieren Wir zeigen Ihnen, wie Sie Ihre Excel-Diagramme selbst aktualisieren können. Fügen Sie einfach neue Daten hinzu und beobachten Sie, wie sie automatisch in Ihrer Grafik angezeigt werden. Das geht schnell und einfach. Lesen Sie mehr und Saikat über das Versenden von Massen-E-Mails. So senden Sie personalisierte Massen-E-Mails in Outlook mit Seriendruck. So senden Sie personalisierte Massen-E-Mails in Outlook mit Seriendruck. Weitere Informationen finden Sie hier .

Mit dem folgenden Ansatz können Sie Word, Access oder Excel verwenden, um HTML-Dokumente im Web zu lesen, diese Dokumente zu ändern und anschließend in einem neuen Browserfenster nach Belieben auszugeben.

Das hört sich vielleicht nach etwas an, das nur ein erfahrener VBA-Programmierer tun kann, aber in diesem Artikel werde ich Ihnen zeigen, wie Sie dies selbst tun können. Beginnen Sie mit einem grundlegenden Verfahren zum Ausgeben von Daten aus Ihrer eigenen Anwendung auf eine Webseite.

Aktivieren der Microsoft-Internetsteuerelemente

Der erste Schritt, egal wie Sie die Möglichkeit nutzen möchten, Ihren eigenen HTML-Code über VBA einzugeben / auszugeben, ist die Aktivierung der Microsoft Internet Controls-Referenz.

Klicken Sie dazu in Excel auf das Symbol “Entwickler” Klicken Sie auf Entwurfsmodus, und dann auf die “Code anzeigen” Taste. Dies kann in älteren Versionen von Excel anders aussehen. Im Wesentlichen müssen Sie jedoch herausfinden, wo Sie den VBA-Code-Editor starten können.

Klicken Sie im VBA-Editor auf Werkzeuge, und dann Verweise.

Scrollen Sie im Fenster Verweise ganz nach unten, bis Sie sehen “Microsoft Internetsteuerelemente“. Aktivieren Sie das Kontrollkästchen und klicken Sie auf “OK“.

Innerhalb Ihres VBA-Codes können Sie nun Objekte erstellen, die Informationen aus dem Internet abrufen können, und Sie können Ihre eigenen HTML-Dokumente ausgeben, die der Benutzer in seinem eigenen Browser anzeigen kann.

HTML eingeben und ausgeben

Das erste, was Sie hier erreichen möchten, ist das Ausgeben von Informationen an HTML. Überlegen Sie, wie viel Sie tun können, wenn Sie Informationen an eine perfekt formatierte HTML-Webseite ausgeben können. Sie können Daten aus Ihren Excel-Kalkulationstabellen extrahieren und in einem schön formatierten Bericht ausgeben.

Um diese Funktion zu erstellen, müssen Sie eine Befehlsschaltfläche in Ihr Arbeitsblatt einfügen. Unter dem Entwickler Klicken Sie im Menü auf Entwurfsmodus, und klicken Sie dann auf “Einfügen” Taste. Sie sehen eine Dropdown-Liste der Steuerelemente, die Sie Ihrem Arbeitsblatt hinzufügen können.

Klicken Sie in diesem Fall auf das Schaltflächen-Steuerelement und platzieren Sie es in Ihrem Arbeitsblatt. Stellen Sie sicher, dass sich auf dem Arbeitsblatt (oder einem Arbeitsblatt) Daten befinden, die Sie in einen Bericht ausgeben möchten, wenn Sie auf die Schaltfläche klicken. Klicken Sie mit der linken Maustaste auf die Schaltfläche, um sie auszuwählen, und klicken Sie auf “Code anzeigen“.

Geben Sie den folgenden Code ein:

Unter Button1_Click ()
 Dim objIE als Objekt
 Dim HTML As String
 '---------- Der HTML-Code geht von hier und da runter----------
 HTML = "HTML-Berichtsseite"& _
 ""& _
 "Folgendes sind Ergebnisse Ihrer täglichen Berechnung"& _
 "

"& _

 "Tägliche Produktion:" & Sheet1.Cells (1, 1) & "

"& _

 "Daily Scrap:" & Sheet1.Cells (1, 2) & "

"

 '---------- Der HTML-Code geht hier und darüber hinaus---------
 On Error GoTo Fehlerhandler
 Set objIE = CreateObject ("InternetExplorer.Application")
 Mit objIE
 .Navigiere "ungefähr: leer"
 Do While .Busy: DoEvents: Loop
 Do While .ReadyState <> 4: DoEvents: Loop
 .Sichtbar = wahr
 .Document.write HTML
 Ende mit
 Set objIE = nichts
 Beenden Sie Sub
error_handler:
 MsgBox ("Unerwarteter Fehler, ich höre auf.")
 objIE.Quit
 Set objIE = nichts
End Sub

Dieser Code gibt den HTML-Code aus, den Sie in dieser Ausgabezeichenfolge definiert haben. Wie Sie in meinem obigen Beispiel sehen können, können Sie Daten aus einem beliebigen Arbeitsblatt in Excel in Ihre HTML-Zeichenfolge einbetten. Hier ist der resultierende Webseitenbericht:

Wenn Sie nun mit der HTML-Ausgabe arbeiten, können Sie Ihr VBA-Skript praktisch wie einen Webbrowser verwenden, indem Sie HTML von einer Website einlesen, die Daten bearbeiten und dann auf einer HTML-Ausgabeseite ausgeben.

Unter Button1_Click ()
 Dim objIE als Objekt
 Dim HTML As String
 On Error GoTo Fehlerhandler
 Set objIE = CreateObject ("InternetExplorer.Application")
 Mit objIE
 .Navigieren Sie zu "http://www.google.com".
 Do While .Busy: DoEvents: Loop
 Do While .ReadyState <> 4: DoEvents: Loop
 .Sichtbar = wahr
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "Meine eigenen Google-Ergebnisse!

Dies ist eine bearbeitete Version der Google-Seite!

"& HTML &""
 Ende mit
 Set objIE = nichts
Beenden Sie Sub
error_handler:
 MsgBox ("Unerwarteter Fehler, ich höre auf.")
 objIE.Quit
 Set objIE = nichts
End Sub

Was ich hier gemacht habe, ist das IE-Objekt, um HTML von Google in eine Textvariable in VBA namens HTML zu lesen. Ich habe dann meinen eigenen HTML-Ausgabetext oben auf der Seite platziert und dann denselben HTML-Code an die VBA-HTML-Ausgabe ausgegeben. So sieht das aus:

Dies ist ein sehr einfaches Beispiel dafür, wozu dies in der Lage ist. Wenn Sie darüber nachdenken, sobald Sie den HTML-Code einer Webseite in Ihre VBA-Stringvariable geladen haben, können Sie nach bestimmten Zeilen auf der Seite suchen, nach Bildern suchen, E-Mail-Adressen von Telefonnummern suchen - oder Sie können die gesamte Zeile neu schreiben Geben Sie die Seite in eine neue, bearbeitete Version derselben Seite ein, und zwar in einem beliebigen Format und mit beliebigen Änderungen.

Dies erfordert ein wenig String-Manipulationskenntnis - aber nichts ist unmöglich, wenn Sie den HTML-Quellcode aus dem Web gelesen haben.

Sehen Sie ein Potenzial für die Verwendung von HTML-Eingabe oder Ausgabe in Ihren eigenen Anwendungen? Kennen Sie irgendwelche coolen Verwendungen für dieses Skript? Teilen Sie Ihre Gedanken in den Kommentaren unten mit.

Bildnachweis: Shutterstock

Erfahren Sie mehr über: Programmierung, Visual Basic-Programmierung.