Table des matières:
- Avant de commencer à écrire du code
- Chargement des modèles d'objet appropriés
- Définition de références à d'autres programmes
Vidéo: Tutoriel et cours Access n° 5 : Importer des données dans une base de données 2025
Visual Basic pour Applications (VBA) n'est pas un langage de programmation pour Microsoft Access 2003 seul. C'est un langage de programmation pour tous les programmes d'application qui prennent en charge l'automatisation. L'automatisation (avec une majuscule A ) fait référence à la possibilité de manipuler un programme par programme ou de le contrôler automatiquement en utilisant un langage de programmation tel que VBA. Toutes les applications principales dans Microsoft Office, y compris Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint et Microsoft Word prennent en charge l'automatisation. Vous pouvez écrire du code pour partager automatiquement des données entre eux.
Les termes Component Object Model ( COM ) et OLE automation sont des termes plus anciens (mais sont en fait synonymes de). actuellement appelé Automation.
Avant de commencer à écrire du code
Avant d'échanger des données entre Access et d'autres programmes de la suite Microsoft Office, sachez qu'il est rarement nécessaire d'écrire du code pour effectuer le travail. Vous pouvez importer et exporter de nombreuses données entre des applications Microsoft Office sans écrire de code du tout. Par exemple, vous pouvez effectuer les actions suivantes:
- Importez et exportez des données en utilisant les options du menu Access File.
- E-mail Accédez aux objets, tels que les rapports, en sélectionnant Envoyer à -> Destinataire du message.
- Utilisez la fonction OfficeLinks pour envoyer des objets à d'autres programmes.
- Utilisez les techniques de base de copier-coller de Windows et OLE (Object Linking and Embedding) pour copier et lier des données entre des programmes.
- Fusionner des données provenant de tables Access avec des lettres, des étiquettes, des enveloppes ou d'autres rapports Microsoft Word à l'aide de la fonctionnalité Fusion et publipostage Word. (Recherchez le système d'aide de Word pour fusionner. )
Si vous cherchez simplement à obtenir des données à partir d'un autre programme (ou vice versa), l'écriture de code n'est probablement pas l'approche la plus simple. L'une des approches précédentes est plus facile que l'écriture de code VBA personnalisé pour faire le travail.
Bien sûr, une fois dans une lune bleue proverbiale, vous tombez sur une situation où l'écriture de code VBA est le seul, ou peut-être le meilleur, moyen de faire le travail. Cet article vous montre quelques concepts de base que vous voudrez comprendre.
Chargement des modèles d'objet appropriés
Le modèle d'objet Access permet de référencer les objets par leur nom afin de pouvoir manipuler ces objets à l'aide du code VBA. Chaque programme d'application Office qui s'expose à VBA a un modèle d'objet, tout comme Access.Une fois la bibliothèque d'objets d'un programme d'application disponible, vous pouvez utiliser VBA pour contrôler cette application.
Un modèle d'objet définit les noms et l'organisation des objets dans l'application. Une bibliothèque d'objets est le fichier stocké sur votre disque dur et définit ce modèle d'objet conceptuel.
Avant d'écrire du code pour contrôler une application externe à partir d'Access, vous devez charger la bibliothèque d'objets appropriée dans la boîte de dialogue Références dans Access. Suivez ces étapes:
1. Assurez-vous que vous êtes dans Visual Basic Editor.
Appuyez sur Alt + F11 si vous êtes dans la fenêtre du programme Access.
2. Choisissez Outils -> Références dans le menu Visual Basic Editor.
La boîte de dialogue Références s'ouvre.
3. Faites défiler la liste Références disponibles et sélectionnez les bibliothèques d'objets pour les programmes que vous souhaitez contrôler.
Dans la figure 1, les bibliothèques d'objets sélectionnées sont pour Access, Excel, Outlook, PowerPoint et Word (parmi d'autres).
Figure 1: Plusieurs bibliothèques d'objets sélectionnées dans la boîte de dialogue Références.
4. Cliquez sur OK.
Toutes les bibliothèques d'objets sélectionnées seront ouvertes et vous aurez accès à tous leurs modèles d'objets à partir de ce point.
Décharger des bibliothèques d'objets
Charger plus de bibliothèques d'objets que nécessaire est inutile car les programmes VBA s'exécutent plus lentement. Dans la vraie vie, vous avez rarement besoin de sélectionner toutes les bibliothèques d'objets disponibles (voir la figure 1) sauf si vous avez vraiment l'intention d'interagir avec tous ces programmes de la base de données actuelle.
Vous pouvez décharger les bibliothèques aussi facilement que vous les chargez. Ouvrez la boîte de dialogue Références et décochez la case en regard de toute bibliothèque d'objets que vous n'avez pas vraiment l'intention d'utiliser.
Exploration du modèle d'objet d'un programme
L'explorateur d'objets dans Visual Basic Editor permet d'accéder à tous les modèles d'objets actuellement sélectionnés dans la boîte de dialogue Références. Chaque modèle d'objet chargé contient de nombreux objets, classes, propriétés et autres. Mais pour l'automatisation, vous voulez principalement regarder l'objet d'application de chaque programme. Par exemple, l'objet Application Access expose l'accès à d'autres programmes qui prennent en charge Automation. L'objet Application Excel (contenu dans la bibliothèque d'objets Excel) expose Excel à d'autres programmes d'automatisation, etc.
Pour ouvrir le navigateur d'objets dans l'éditeur VBA, choisissez Affichage -> Navigateur d'objets ou appuyez sur F2. Pour obtenir de l'aide sur un élément dans le navigateur d'objets, cliquez sur son nom, puis sur le bouton Aide (?) Dans la barre d'outils du navigateur d'objets.
Lorsque vous choisissez dans la liste Projet / Bibliothèque dans la liste déroulante Objet et faites défiler la liste Classes dans la colonne de gauche, vous voyez plusieurs objets Application. Lorsque vous cliquez sur l'un des objets Application, le nom de l'application s'affiche vers le bas de la boîte de dialogue. Les membres de cet objet d'application apparaissent dans le volet à droite, comme indiqué dans la Figure 2.
Figure 2: L'Explorateur d'objets après avoir ajouté plusieurs bibliothèques d'objets.
Définition de références à d'autres programmes
Une fois les modèles d'objet chargés, vous pouvez commencer à configurer des références aux programmes disponibles dans le code VBA.La première étape consiste à utiliser une instruction Dim pour créer une variable objet qui fait référence à l'application à laquelle vous souhaitez vous connecter, en utilisant la syntaxe suivante:
Dim anyName As [Nouveau] programme. Application
Dans la syntaxe, anyName est un nom que vous aimez, à utiliser dans votre code pour faire référence à l'application. L'argument programme est le nom officiel du programme Automation. Le nouveau mot-clé est facultatif. S'il est inclus, le mot-clé New ouvre une copie de l'application en arrière-plan (pas nécessairement visible à l'écran) avant l'exécution du code.
Voici quelques exemples d'instructions Dim:
Dim appExcel As New Excel. Application
Dim appOutlook comme nouvelle Outlook. Application
Dim appPowerPoint en tant que nouveau PowerPoint. Application
Dim appWord en tant que nouveau mot. Application
Une instruction Dim n'est valide que si la bibliothèque d'objets appropriée est chargée. Par exemple, le Dim appWord As New Word. L'instruction d'application échoue si la bibliothèque d'objets pour Microsoft Word n'est pas sélectionnée dans la boîte de dialogue Références.
Les instructions Dim créent simplement des variables d'objet qui se réfèrent à l'application depuis votre code. Pour réellement établir la connexion à l'objet Application d'une application, vous devez définir le nom de la variable d'objet sur l'application. La syntaxe est
Définir objectVariable As CreateObject ("appName. Application")
où objectVariable est identique au nom que vous avez spécifié dans l'instruction Dim, et appName le nom du programme d'application. En se référant aux instructions Dim antérieures, les instructions Set que vous utilisez pour chaque variable objet définie sont les suivantes:
Set appExcel = CreateObject ("Excel. Application")
Set appOutlook = CreateObject ("Outlook. Application")
Définissez appPowerPoint = CreateObject ("Application PowerPoint")
Définissez appWord = CreateObject ("Word.Application")
Chaque application de la suite Office a son propre modèle objet avec ses propres objets et propriétés, mais Les idées de base sont les mêmes quel que soit le programme et le modèle d'objet que vous utilisez.
