Comment faire votre propre navigateur Internet de base en utilisant VBA
Lorsque vous vous arrêtez vraiment pour y penser, un navigateur Internet dans sa forme la plus simple n'est pas vraiment une application aussi impressionnante. Je veux dire, oui, Internet est incroyable par rapport aux normes de quiconque. Le concept de relier un si grand nombre d'ordinateurs et d'appareils mobiles du monde entier au sein de cet immense réseau est épique. Mais l'idée de transférer un fichier texte contenant un code spécial et d'afficher ce texte transféré sur l'écran de l'ordinateur n'est pas un problème..
En fait, grâce aux références incorporé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 précédents, alors vous savez que nous aimons les scripts VB et VBA, comme mon article sur la maximisation de Windows. 3 façons d'ouvrir des applications et Windows optimisées avec VB Script [Windows] 3 façons d'ouvrir des applications et Windows optimisé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 de script Windows ou d'un script VBA dans une application, le script offre la possibilité d'ajouter des fonctionnalités aux applications… En savoir plus, sur les graphiques à mise à jour automatique de Paul Comment créer des graphiques Excel à mise à jour automatique en trois étapes simples Comment créer Mise à jour des graphiques Excel en trois étapes simples Nous allons vous montrer comment mettre à jour automatiquement vos graphiques Excel. Ajoutez simplement de nouvelles données et observez leur affichage automatique dans votre graphique. C'est rapide et facile En savoir plus et sur Saikat pour l'envoi d'e-mails en masse Comment envoyer des e-mails en masse personnalisés dans Outlook avec fusion et publipostage Comment envoyer des e-mails en masse personnalisés dans Outlook avec fusion et publipostage En savoir plus .
En utilisant l'approche ci-dessous, vous pouvez utiliser Word, Access ou Excel pour lire des documents HTML sur le Web, les modifier, puis les afficher dans une nouvelle fenêtre de navigateur..
Cela peut sembler être quelque chose que seul un programmeur VBA expérimenté peut faire, mais dans cet article, je vais vous montrer comment le faire vous-même, en commençant par une procédure de base pour exporter des données depuis votre propre application vers une page Web..
Activation des contrôles Microsoft Internet
La première étape, quelle que soit la manière dont vous souhaitez utiliser la possibilité de saisir / générer votre propre code HTML via VBA, consiste à activer la référence des contrôles Internet de Microsoft..
Dans Excel, vous le faites en cliquant sur le bouton “Développeur” élément de menu, en cliquant Mode de conception, puis en cliquant sur le “Voir le code” bouton. Cela peut paraître différent dans les anciennes versions d'Excel, mais vous devez essentiellement rechercher l'emplacement où vous pouvez lancer l'éditeur de code VBA..
Dans l'éditeur VBA, cliquez sur Outils, et alors Références.
Dans la fenêtre Références, faites défiler l'écran jusqu'en bas “Contrôles Internet Microsoft“. Cochez la case puis cliquez “D'accord“.
Désormais, dans votre code VBA, vous pourrez créer des objets pouvant obtenir des informations sur Internet et générer vos propres documents HTML que l'utilisateur pourra visualiser dans son propre navigateur..
Saisie et sortie HTML
La première chose que vous voudrez accomplir ici est de générer des informations au format HTML. Réfléchissez à ce que vous pouvez faire une fois que vous pouvez générer des informations sur une page Web HTML parfaitement formatée. Vous pouvez extraire des données de vos feuilles de calcul Excel et les imprimer dans un rapport bien formaté..
Pour créer cette fonctionnalité, vous devez insérer un bouton de commande sur votre feuille. Sous le Développeur menu, cliquez sur Mode de conception, puis cliquez sur le “Insérer” bouton. Vous verrez une liste déroulante de 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 que la feuille (ou toute autre feuille) contient des données que vous souhaitez exporter 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:
Sub Button1_Click ()
Dim objIE As Object
Dim HTML As String
'---------- Le code HTML va d'ici et vers le bas----------
HTML = "Rapport HTML "& _
""& _
"Les éléments suivants sont les résultats de votre calcul quotidien"& _
""& _
"Production quotidienne:" & Sheet1.Cells (1, 1) & ""& _
"Daily Scrap:" & Sheet1.Cells (1, 2) & ""
'---------- Le code HTML va ici et ci-dessus---------
Sur erreur GoTo error_handler
Set objIE = CreateObject ("InternetExplorer.Application")
Avec objIE
.Naviguer "à propos de: vide"
Do While .Busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
.Visible = True
.Document.Write HTML
Terminer par
Définir objIE = Nothing
Sortie sous
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 l'exemple ci-dessus, vous pouvez incorporer des données provenant de n'importe quelle feuille d'Excel dans votre chaîne HTML. Voici le rapport de page Web résultant:
Maintenant que la sortie HTML fonctionne, la prochaine étape pour que votre script VBA fonctionne pratiquement comme un navigateur Web consiste à lire le code HTML d'un site Web, à manipuler les données, puis à les exporter dans une page de sortie HTML..
Sub Button1_Click ()
Dim objIE As Object
Dim HTML As String
Sur erreur GoTo error_handler
Set objIE = CreateObject ("InternetExplorer.Application")
Avec objIE
.Naviguez sur "http://www.google.com"
Do While .Busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
.Visible = True
HTML = objIE.Document.Body.innerHTML
.Document.Write "Mes propres résultats Google! Ceci est une version modifiée de la page Google.!
"& HTML &""
Terminer par
Définir objIE = Nothing
Sortie sous
error_handler:
MsgBox ("Erreur inattendue, je quitte.")
objIE.Quit
Définir objIE = Nothing
End Sub
Ce que j'ai fait ici est d'utiliser l'objet IE pour lire le code HTML de Google dans une variable de texte dans VBA appelée HTML. J'ai ensuite placé mon propre texte de sortie HTML en haut de la page, puis le même code HTML vers la sortie HTML VBA. Voici à quoi ça ressemble:
Ceci est un exemple très basique de ce que cela est capable de faire. Mais si vous y réfléchissez, une fois que le code HTML d’une page Web est chargé dans votre variable chaîne VBA, vous pouvez rechercher des lignes spécifiques dans la page, rechercher des images, rechercher des adresses électroniques de numéros de téléphone - ou vous pouvez réécrire l’ensemble. saisir la page dans une nouvelle version modifiée de la même page dans le format de votre choix et avec les modifications souhaitées.
Cela nécessiterait un peu de prouesse en matière de manipulation de chaîne - mais rien n'est impossible une fois que vous avez lu le code source HTML à partir du Web..
Voyez-vous un potentiel d'utilisation de l'entrée HTML ou de la sortie HTML dans vos propres applications? Pouvez-vous penser à des utilisations intéressantes pour ce script? Partagez vos pensées dans la section des commentaires ci-dessous.
Crédit d'image: Shutterstock
En savoir plus sur: Programmation, Programmation Visual Basic.