Comment : déterminer l'élément Outlook actuel par programmation
Cet exemple utilise l'événement Explorer.SelectionChange pour afficher le nom du dossier actif ainsi que différentes informations à propos de l'élément sélectionné.Le code affiche ensuite l'élément sélectionné.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau application pour Outlook 2013 et Outlook 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Exemple
Dim WithEvents currentExplorer As Outlook.Explorer = Nothing
Private Sub ThisAddIn_Startup(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Startup
currentExplorer = Me.Application.Explorers.Application.ActiveExplorer
AddHandler currentExplorer.SelectionChange, AddressOf _
currentExplorer_Event
End Sub
Public Sub currentExplorer_Event()
Dim selectedFolder As Outlook.MAPIFolder = _
Me.Application.ActiveExplorer().CurrentFolder
Dim expMessage As String = "Your current folder is " _
& selectedFolder.Name & "." & vbCrLf
Dim itemMessage As String = "Item is unknown."
Try
If Me.Application.ActiveExplorer.Selection.Count > 0 Then
Dim selObject As Object = Me.Application.ActiveExplorer _
.Selection.Item(1)
If (TypeOf selObject Is Outlook.MailItem) Then
Dim mailItem As Outlook.MailItem = _
TryCast(selObject, Outlook.MailItem)
itemMessage = "The item is an e-mail message." & _
" The subject is " & mailItem.Subject & "."
mailItem.Display(False)
ElseIf (TypeOf selObject Is Outlook.ContactItem) Then
Dim contactItem As Outlook.ContactItem = _
TryCast(selObject, Outlook.ContactItem)
itemMessage = "The item is a contact." & _
" The full name is " & _
contactItem.Subject & "."
contactItem.Display(False)
ElseIf (TypeOf selObject Is Outlook. _
AppointmentItem) Then
Dim apptItem As Outlook.AppointmentItem = _
TryCast(selObject, Outlook.AppointmentItem)
itemMessage = "The item is an appointment." _
& apptItem.Subject & "."
ElseIf (TypeOf selObject Is Outlook.TaskItem) Then
Dim taskItem As Outlook.TaskItem = _
TryCast(selObject, Outlook.TaskItem)
itemMessage = "The item is a task." & _
" The body is " & taskItem.Body & "."
ElseIf (TypeOf selObject Is Outlook.MeetingItem) Then
Dim meetingItem As Outlook.MeetingItem = _
TryCast(selObject, Outlook.MeetingItem)
itemMessage = "The item is a meeting item. " & _
"The subject is " & meetingItem.Subject & "."
End If
End If
expMessage = expMessage & itemMessage
Catch ex As Exception
expMessage = ex.Message
End Try
MsgBox(expMessage)
End Sub
Outlook.Explorer currentExplorer = null;
private void ThisAddIn_Startup
(object sender, System.EventArgs e)
{
currentExplorer = this.Application.ActiveExplorer();
currentExplorer.SelectionChange += new Outlook
.ExplorerEvents_10_SelectionChangeEventHandler
(CurrentExplorer_Event);
}
private void CurrentExplorer_Event()
{
Outlook.MAPIFolder selectedFolder =
this.Application.ActiveExplorer().CurrentFolder;
String expMessage = "Your current folder is "
+ selectedFolder.Name + ".\n";
String itemMessage = "Item is unknown.";
try
{
if (this.Application.ActiveExplorer().Selection.Count > 0)
{
Object selObject = this.Application.ActiveExplorer().Selection[1];
if (selObject is Outlook.MailItem)
{
Outlook.MailItem mailItem =
(selObject as Outlook.MailItem);
itemMessage = "The item is an e-mail message." +
" The subject is " + mailItem.Subject + ".";
mailItem.Display(false);
}
else if (selObject is Outlook.ContactItem)
{
Outlook.ContactItem contactItem =
(selObject as Outlook.ContactItem);
itemMessage = "The item is a contact." +
" The full name is " + contactItem.Subject + ".";
contactItem.Display(false);
}
else if (selObject is Outlook.AppointmentItem)
{
Outlook.AppointmentItem apptItem =
(selObject as Outlook.AppointmentItem);
itemMessage = "The item is an appointment." +
" The subject is " + apptItem.Subject + ".";
}
else if (selObject is Outlook.TaskItem)
{
Outlook.TaskItem taskItem =
(selObject as Outlook.TaskItem);
itemMessage = "The item is a task. The body is "
+ taskItem.Body + ".";
}
else if (selObject is Outlook.MeetingItem)
{
Outlook.MeetingItem meetingItem =
(selObject as Outlook.MeetingItem);
itemMessage = "The item is a meeting item. " +
"The subject is " + meetingItem.Subject + ".";
}
}
expMessage = expMessage + itemMessage;
}
catch (Exception ex)
{
expMessage = ex.Message;
}
MessageBox.Show(expMessage);
}
Compilation du code
Cet exemple nécessite :
- Un rendez-vous, un contact et des éléments de courrier électronique dans Microsoft Office Outlook.
Voir aussi
Tâches
Comment : récupérer un dossier par nom par programmation
Comment : rechercher un contact spécifique par programmation