Automatisation d'Outlook à partir d'une application Visual Basic
Étant donné que Microsoft Outlook prend en charge Automation, vous pouvez contrôler Outlook à partir d'un programme écrit avec Microsoft Visual Basic. Automation fournit une méthode standard pour l'accès par une application aux objets, méthodes, propriétés et événements d'autres applications prenant en charge Automation.
Le modèle objet Outlook offre toutes les fonctionnalités nécessaires pour manipuler les données stockées dans les dossiers Outlook, et permet de contrôler de nombreux aspects de l'interface utilisateur Outlook.
To start an Outlook Automation session, you can use either early or late binding. La liaison tardive utilise la fonction GetObject de Visual Basic ou la fonction CreateObject pour initialiser Outlook. For example, the following code sets an object variable to the Outlook Application object, which is the highest-level object in the Outlook object model. All Automation code must first define an Outlook Application object to be able to access any other Outlook objects.
Dim objOL as Object
Set objOL = CreateObject("Outlook.Application")
Pour utiliser une liaison anticipée, vous devez d'abord définir une référence à la bibliothèque d'objets Outlook. Utilisez la commande de référence sur le menu Outils de Visual Basic pour Applications (VBA) pour définir une référence à la bibliothèque d’objets Microsoft Outlook xx.x, où xx.x représente la version d’Outlook que vous utilisez. Vous pouvez ensuite utiliser la syntaxe suivante pour démarrer une session Outlook.
Dim objOL as Outlook.Application
Set objOL = New Outlook.Application
Most programming solutions interact with the data stored in Outlook. Outlook stores all of its information as items in folders. Folders are contained in one or more stores. Après avoir défini une variable objet sur l’objet Application Outlook, vous définissez généralement un objet NameSpace pour faire référence à MAPI, comme illustré dans l’exemple suivant.
Set objOL = New Outlook.Application
Set objNS = objOL.GetNameSpace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderContacts)
Une fois que vous avez défini une variable d'objet de manière à faire référence au dossier qui contient les éléments que vous souhaitez utiliser, utilisez le code approprié pour accomplir votre tâche, comme indiqué dans l'exemple suivant.
Sub CreateNewDefaultOutlookTask()
Dim objOLApp As Outlook.Application
Dim NewTask As Outlook.TaskItem
' Set the Application object
Set objOLApp = New Outlook.Application
' You can only use CreateItem for default items
Set NewTask = objOLApp.CreateItem(olTaskItem)
' Display the new task form so the user can fill it out
NewTask.Display
End Sub
Si vous utilisez VBA pour créer des macros, il existe deux méthodes pour automatiser Outlook. Vous pouvez implémenter une macro qui crée une nouvelle instance de l’objet Application Outlook. La méthode CreateNewDefaultOutlookTask()
ci-dessus montre comment appeler New Outlook.Application
pour créer une nouvelle instance d'objet Application.
Attention Cette nouvelle instance d’Outlook n’est pas approuvée et peut déclencher la protection du modèle objet.
Comme alternative à la création et à l’automatisation d’une instance distincte d’Outlook, vous pouvez utiliser VBA pour implémenter une macro qui automatise l’instance actuelle d’Outlook. Pour ce faire, utilisez l’objet Application intrinsèque à l’environnement. Cet objet Application est approuvé et peut éviter le déclenchement de la protection du modèle objet. Pour plus d'informations sur la protection du modèle objet, voir What's New for Developers in Outlook 2007 (Part 1 of 2). L’exemple suivant montre la CreateAnotherNewDefaultOutlookTask()
méthode utilisant l’objet Application de l’instance actuelle d’Outlook.
Sub CreateAnotherNewDefaultOutlookTask()
Dim NewTask As Outlook.TaskItem
' You can only use CreateItem for default items
Set NewTask = Application.CreateItem(olTaskItem)
' Display the new task form so the user can fill it out
NewTask.Display
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour