Comment faire votre propre navigateur Internet de base en utilisant VBA

Lorsque vous vous arrêtez vraiment à y penser, un navigateur Internet dans sa forme la plus simple n'est pas vraiment une application aussi impressionnante. Je veux dire, oui, l'Internet est incroyable par les normes de quiconque.

Lorsque vous vous arrêtez vraiment à y penser, un navigateur Internet dans sa forme la plus simple n'est pas vraiment une application aussi impressionnante.  Je veux dire, oui, l'Internet est incroyable par les normes de quiconque.
Publicité

faites votre propre navigateur internet Lorsque vous vous arrêtez vraiment à y penser, un navigateur Internet dans sa forme la plus simple n'est pas vraiment une application aussi impressionnante. Je veux dire, oui, l'Internet est incroyable par les normes de quiconque. Le concept de relier autant d'ordinateurs et d'appareils mobiles dans le monde au sein de ce réseau massif, c'est épique. Mais le concept de transférer un fichier texte avec un code spécial et d'afficher ce texte transféré sur l'écran de l'ordinateur - ce n'est vraiment pas une grosse affaire.

En fait, grâce aux références intégrées dans les applications utilisant VBA, vous pouvez entrer et sortir des pages Web via vos propres applications. Si vous avez suivi nos articles de script passés, alors vous savez que nous aimons le script VB et VBA, comme mon article sur la maximisation de Windows 3 façons d'ouvrir les applications et Windows maximisé avec VB Script [Windows] 3 façons d'ouvrir les applications et Windows maximisées avec VB Script [Windows] S'il y a une chose que j'aime faire, c'est écrire des scripts VB. Qu'il s'agisse d'un fichier script Windows ou d'un script VBA dans une application, le script offre la possibilité d'ajouter des fonctionnalités aux applications ... Lire la suite, Paul met à jour automatiquement les graphiques Comment créer des graphiques Excel à mise à jour automatique en trois étapes faciles Mise à jour automatique des graphiques Excel en trois étapes simples Nous vous montrerons comment mettre vos graphiques Excel à jour automatiquement. Ajoutez simplement de nouvelles données et regardez comment elles s'affichent automatiquement dans votre graphique. C'est rapide et facile. Lire la suite, et Saikat sur l'envoi de courriels de masse Comment envoyer des courriels de masse personnalisés dans Outlook avec fusion et publipostage Comment envoyer des courriels de masse personnalisés dans Outlook avec fusion et publipostage Lire la suite.

En utilisant l'approche ci-dessous, vous pouvez utiliser Word, Access ou Excel pour lire des documents HTML sur le Web, modifier ces documents, puis afficher ce que vous voulez dans une nouvelle fenêtre de navigateur.

Cela peut sembler quelque chose que seul un programmeur VBA expérimenté peut faire, mais dans cet article, je vais vous montrer comment vous pouvez le faire vous-même, en commençant par une procédure de base pour extraire des données depuis votre propre application vers une page Web.

Activation des contrôles Internet Microsoft

La première étape, peu importe comment vous voulez utiliser la possibilité d'entrer / sortir votre propre code HTML via VBA, est d'activer la référence Microsoft Internet Controls.

Dans Excel, vous faites cela en cliquant sur l'élément de menu " Développeur ", en cliquant sur Mode Création, puis en cliquant sur le bouton " Afficher le code ". Cela peut sembler différent dans les anciennes versions d'Excel, mais vous devez essentiellement trouver où vous pouvez lancer l'éditeur de code VBA.

faites votre propre navigateur internet

Dans l'éditeur VBA, cliquez sur Outils, puis sur Références .

faire un navigateur internet

Dans la fenêtre Références, faites défiler tout le chemin jusqu'à ce que vous voyez " Microsoft Internet Controls ". Cochez la case, puis cliquez sur " OK ".

faire un navigateur internet

Maintenant, dans votre code VBA, vous serez capable de créer des objets qui peuvent obtenir des informations sur Internet, et vous pourrez produire vos propres documents HTML que l'utilisateur peut voir dans son propre navigateur.

Entrer et sortir du HTML

La première chose que vous voudrez accomplir ici est de sortir des informations en HTML. Pensez à ce que vous pouvez faire une fois que vous pouvez produire des informations sur une page HTML parfaitement formatée. Vous pouvez extraire des données de vos feuilles de calcul Excel et les afficher dans un rapport bien formaté.

faire un navigateur internet

Pour créer cette fonctionnalité, vous devez insérer un bouton de commande sur votre feuille. Sous le menu Développeur, cliquez sur Mode Création, puis cliquez sur le bouton " Insérer ". Vous verrez une liste déroulante des contrôles que vous pouvez ajouter à votre feuille.

Dans ce cas, cliquez sur le bouton de contrôle et placez-le dans votre feuille. Assurez-vous qu'il y a des données dans la feuille (ou n'importe quelle feuille), que vous voulez afficher dans un rapport lorsque vous cliquez sur le bouton. Faites un clic gauche sur le bouton pour le sélectionner et cliquez sur " Voir le code ".

Entrez le code suivant:

 Sous Button1_Click () 
 Dim objIE comme objet 
 Dim HTML en tant que chaîne 
 '---------- Le code HTML va d'ici et de là ---------- 
 HTML = "Page de rapport HTML" & _ 
 "" & _ 
 " Voici les résultats de votre calcul quotidien " & _ 
 " 

"& _

 "Production quotidienne:" & Sheet1.Cells (1, 1) & " 

"& _

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

"

 '---------- Le code HTML VA ICI ET CI-DESSUS --------- 
 En cas d'erreur GoTo error_handler 
 Définissez objIE = CreateObject ("InternetExplorer.Application") 
 Avec objIE 
 .Naviguer "à propos de: vide" 
 Do While .Busy: DoEvents: Boucle 
 Do While .ReadyState 4: DoEvents: Boucle 
 .Visible = Vrai 
 .Document.Write HTML 
 Terminer par 
 Définir objIE = Nothing 
 Exit Sub 
 error_handler: 
 MsgBox ("Erreur inattendue, je quitte.") 
 objIE.Quit 
 Définir objIE = Nothing 
 End Sub 

Ce code génère le code HTML que vous avez défini dans cette chaîne de sortie. Comme vous pouvez le voir dans mon exemple ci-dessus, vous pouvez intégrer des données de n'importe quelle feuille dans Excel dans votre chaîne HTML. Voici le rapport de page Web résultant:

faites votre propre navigateur internet

Maintenant que la sortie HTML fonctionne, l'étape suivante pour que votre script VBA fonctionne comme un navigateur Web consiste à lire en HTML à partir d'un site Web, à manipuler les données, puis à les afficher dans une page de sortie HTML.

 Sous Button1_Click () 
 Dim objIE comme objet 
 Dim HTML en tant que chaîne 
 En cas d'erreur GoTo error_handler 
 Définissez objIE = CreateObject ("InternetExplorer.Application") 
 Avec objIE 
 .Naviguez "http://www.google.com" 
 Do While .Busy: DoEvents: Boucle 
 Do While .ReadyState 4: DoEvents: Boucle 
 .Visible = Vrai 
 HTML = objIE.Document.Body.innerHTML 
 .Document.Write "Mes propres résultats Google! 

Ceci est une version éditée de la page Google!

"& HTML &" "
 Terminer par 
 Définir objIE = Nothing 
 Exit Sub 
 error_handler: 
 MsgBox ("Erreur inattendue, je quitte.") 
 objIE.Quit 
 Définir objIE = Nothing 
 End Sub 

Ce que j'ai fait ici est utilisé l'objet IE pour lire HTML de Google dans une variable de texte dans VBA appelé HTML. J'ai ensuite placé mon propre texte de sortie HTML en haut de la page, puis j'ai sorti le même HTML vers la sortie HTML VBA. Voici à quoi cela ressemble:

Comment faire votre propre navigateur Internet de base à l'aide de VBA vbabrowse6

Ceci est un exemple très basique de ce dont il est capable. Mais si vous y réfléchissez, une fois le code HTML d'une page Web chargé dans votre variable chaîne VBA, vous pouvez rechercher des lignes spécifiques dans la page, rechercher des images, rechercher des adresses e-mail de numéros de téléphone ou réécrire page d'entrée dans une nouvelle version éditée de la même page dans le format que vous voulez et avec les modifications que vous aimez.

Faire cela exigerait un peu de prouesse de manipulation de chaîne - mais rien n'est impossible une fois que vous avez lu dans la source HTML du Web.

Voyez-vous un potentiel d'utilisation de l'entrée ou de la sortie HTML dans vos propres applications? Pouvez-vous penser à des utilisations sympas pour ce script? Partagez vos pensées dans la section des commentaires ci-dessous.

Crédit d'image: Shutterstock

In this article