Практическое руководство. Перемещение элементов в Outlook
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В данном примере непрочитанные сообщения электронной почты перемещаются из папки Входящие в папку Тест. В этом примере перемещаются только те сообщения, у которых в поле Subject есть слово Тест.
Пример
Private Sub ThisApplication_NewMail() Handles Application.NewMail
Dim inBox As Outlook.MAPIFolder = Me.Application.ActiveExplorer() _
.Session.GetDefaultFolder(Outlook _
.OlDefaultFolders.olFolderInbox)
Dim items As Outlook.Items = inBox.Items
Dim moveMail As Outlook.MailItem = Nothing
items.Restrict("[UnRead] = true")
Dim destFolder As Outlook.MAPIFolder = inBox.Folders("Test")
Try
For Each eMail As Object In items
moveMail = TryCast(eMail, Outlook.MailItem)
If Not moveMail Is Nothing Then
If InStr(moveMail.Subject, "Test") > 0 Then
moveMail.Move(destFolder)
End If
End If
Next eMail
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.NewMail += new Microsoft.Office.Interop.Outlook.
ApplicationEvents_11_NewMailEventHandler
(ThisAddIn_NewMail);
}
private void ThisAddIn_NewMail()
{
Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.
ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.Items items = (Outlook.Items)inBox.Items;
Outlook.MailItem moveMail = null;
items.Restrict("[UnRead] = true");
Outlook.MAPIFolder destFolder = inBox.Folders["Test"];
foreach (object eMail in items)
{
try
{
moveMail = eMail as Outlook.MailItem;
if (moveMail != null)
{
string titleSubject = (string)moveMail.Subject;
if (titleSubject.IndexOf("Test") > 0)
{
moveMail.Move(destFolder);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Компиляция кода
Для этого примера необходимо следующее:
Папка почты Outlook с именем Тест.
Сообщение электронной почты, которое поступает со словом Тест в поле Subject.
См. также
Задачи
Практическое руководство. Извлечение папки по названию
Практическое руководство. Поиск в указанной папке
Практическое руководство. Выполнение действий при получении сообщения электронной почты