方法: プログラムによって電子メール メッセージを受信したときにアクションを実行する
この例では、ユーザーが電子メール メッセージを受信したときにカスタム アクションを実行します。
対象: このトピックの情報は、Outlook 2013 と Outlook 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
使用例
Dim outlookNameSpace As Outlook.NameSpace
Dim inbox As Outlook.MAPIFolder
Dim WithEvents items As Outlook.Items
Private Sub ThisAddIn_Startup() Handles Me.Startup
outlookNameSpace = Me.Application.GetNamespace("MAPI")
inbox = _
outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderInbox)
items = inbox.Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object) Handles items.ItemAdd
Dim filter As String = "USED CARS"
If TypeOf (item) Is Outlook.MailItem Then
Dim mail As Outlook.MailItem = item
If mail.MessageClass = "IPM.Note" And _
mail.Subject.ToUpper.Contains(filter.ToUpper) Then
mail.Move(outlookNameSpace.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderJunk))
End If
End If
End Sub
Outlook.NameSpace outlookNameSpace;
Outlook.MAPIFolder inbox;
Outlook.Items items;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
outlookNameSpace = this.Application.GetNamespace("MAPI");
inbox = outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderInbox);
items = inbox.Items;
items.ItemAdd +=
new Outlook.ItemsEvents_ItemAddEventHandler(items_ItemAdd);
}
void items_ItemAdd(object Item)
{
string filter = "USED CARS";
Outlook.MailItem mail = (Outlook.MailItem)Item;
if (Item != null)
{
if (mail.MessageClass == "IPM.Note" &&
mail.Subject.ToUpper().Contains(filter.ToUpper()))
{
mail.Move(outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderJunk));
}
}
}
参照
処理手順
方法: Office プロジェクトでイベント ハンドラーを作成する