I. Introduction▲
Les applications Office ne sont certes pas dédiées à une utilisation avec internet.
Nous pouvons cependant grâce à la programmation VBA créer des passerelles entre internet et Office, en local ou en réseau.
Ce tour d'horizon de développement Web sera loin d'être exhaustif, car le sujet est vaste.
Nous allons écrire beaucoup de code VBA. Un niveau intermédiaire sur ce sujet ne sera pas superflu.
Si vous êtes débutant, commencez au moins par lire cet article : Initiation au VBA Office
II. Librairies utilisées▲
VBA n'est pas par défaut équipé pour gérer des objets tels qu'un navigateur Internet ou un document XML.
Nous allons donc utiliser différentes librairies dont nous détaillerons l'utilisation dans les chapitres suivants.
À noter :
- à partir de la version 2010, Access dispose d'un contrôle navigateur internet standard ;
- un article à lire pour la gestion du XML à partir d'Office 2007 : Office 2007 et le XML.
Nom | Fichier | Description |
---|---|---|
SHDocVw | shdocvw.dll | Microsoft Internet Controls |
MSXML2 | msxmlX.dll | Microsoft XML, vx.x |
MSHTML | mshtml.tlb | Microsoft HTML Object Library |
WinHttp | winhttp.dll | Microsoft WinHttp Services, version x.x |
XcpControlLib | npctrl.dll | AgControl x.x Type Library (Silverlight) |
Ces librairies peuvent être ajoutées aux références du projet VBA.
Pour ajouter une référence :
- ouvrez l'éditeur VBA (ALT+F11) ;
- choisissez dans le menu : Outils => Références ... ;
- recherchez la librairie dans la liste puis cochez-la ;
- validez avec le bouton OK.
N'ajoutez bien attendu que les librairies nécessaires.
Une fois ajoutées aux références, les membres (propriétés, méthodes...) de ces librairies sont consultables dans l'Explorateur d'objets.
Affichez cet explorateur par le menu Affichage => Explorateur d'objets ou par le raccourci F2.
Sans ce référencement, les objets sont utilisables mais ils ne sont pas proposés par l'éditeur VBA.
Parfois pratique pour développer sans connaître la version de la librairie qui sera installée, ce mécanisme est connu sous le nom de lien tardif (late binding).
Les objets sont alors déclarés de type Object et aucune instruction n'est vérifiée à la compilation.
En plus de ces librairies, nous utiliserons aussi des API (Application Programming Interface).
Cf. les chapitres API WinInet, API URL Monikers et API Winsock.
II-A. Microsoft Internet Controls▲
Cette librairie contient les objets :
- Application Internet Explorer : c'est l'application qui s'ouvre quand on exécute Internet Explorer ;
- Navigateur Microsoft (WebBrowser) : ce contrôle ActiveX permet d'intégrer un navigateur dans un formulaire.
Retrouvez les références (propriétés, méthodes...) de ces contrôles sur MSDN (en anglais) : Reference for Visual Basic Developers.
Cette librairie est présente sur le PC si Microsoft Internet Explorer 4.0 (ou plus récent) y est installé.
II-B. Microsoft XML, vX.X▲
Cette librairie est spécialisée dans le traitement des fichiers XML.
On peut charger un fichier XML et parcourir son arborescence d'objets.
Il est également possible d'y ajouter des éléments et de sauvegarder le fichier.
Une classe très utile (XMLHTTP) de cette librairie permet également d'envoyer des requêtes (GET/POST) pour télécharger une page ou un fichier par exemple.
Cette même classe donne la possibilité d'envoyer des données à un script PHP pour remplir un formulaire et recevoir un résultat en retour.
Pour connaître la version de la librairie XML disponible en fonction de l'OS et des applications installées, rendez-vous sur cette page : Liste des versions de Microsoft XML Parser (MSXML).
II-C. Microsoft HTML Object Library▲
Cette librairie référence les objets du modèle HTML (document, formulaire, tableau...).
Elle permet de parcourir le contenu d'une page HTML.
Vous trouverez les références (propriétés, méthodes...) (en anglais) de cette librairie sur MSDN : MSHTML Reference.
Cette librairie est présente sur le PC si Microsoft Internet Explorer 4.0 (ou plus récent) y est installé.
II-D. Microsoft WinHTTP Services, vX.X▲
Cette librairie regroupe les fonctions HTTP des API WinInet.
Vous trouverez les références (propriétés, méthodes...) (en anglais) de cette librairie sur MSDN : WinHttpRequest Object.
Pour connaître la version de la librairie XML disponible en fonction de l'OS et des applications installées, rendez-vous sur cette page : WinHTTP Versions.
II-E. AgControl X.X Type Library (Silverlight)▲
Cette librairie référence les objets nécessaires à l'utilisation du plugin Silverlight.