2011-02-03 9 views
0

アドバイスが必要です。私たちは.netでOutlookアドインを開発しています。電子メールのカスタムマーキングを作成する方法があれば、調査する必要があります。以前にその電子メールで実行されたかどうかによって、電子メールの操作を実行し、この状態をOutlookのUIに表示する必要があります(「読み取り」、「未読」など)。何か助言してもらえますか?Outlookアドインのメールアイテムのマーク

答えて

2

Outlook 2007以降のカテゴリでこれを行うことができます。カテゴリは、電子メールに1つ以上のカテゴリを配置することができ、必要に応じてアドインが新しいカテゴリを作成できるため、これに適したカラーコードラベルシステムです。残念ながら、私はC#で便利なサンプルコードを持っていませんが、私はVB.netでまだ役立つはずのものがあります。 :)

あなたの特定の問題については、電子メールを処理し、カテゴリを使用して、それらの電子メールを処理済みであることをマークします。カテゴリラベルもUIに表示されるので、ユーザーは簡単にそれを見ることができます。

Private Shared ReadOnly CATEGORY_TEST As String = "Custom Overdue Activity" 

' This method checks if our custom category exists, and creates it if it doesn't. 
Private Sub SetupCategories() 
    Dim categoryList As Categories = Application.Session.Categories 
    For i As Integer = 1 To categoryList.Count 
     Dim c As Category = categoryList(i) 
     If c.Name.Equals(CATEGORY_TEST) Then 
      Return 
     End If 
    Next 

    categoryList.Add(CATEGORY_TEST, Outlook.OlCategoryColor.olCategoryColorDarkOlive) 
End Sub 


' This snippet creates a new Task in Outlook, and assigns the category. 
' The process for categories is similar when putting them on an email instead. 
' Some of the data here is coming from a web service call in a larger app, you can ignore that. :) 
Dim task As Outlook.TaskItem = DirectCast(Application.CreateItem(Outlook.OlItemType.olTaskItem), Outlook.TaskItem) 
       task.DueDate = Date.Parse(activity.ActDate) 
       task.StartDate = task.DueDate 
       task.Subject = String.Format(subjectText, activity.AppID) 
       task.Body = String.Format(bodyText, activity.AppID, activity.FileNum, activity.AppID) 
       task.ReminderTime = Now.AddMinutes(10) 
       task.ReminderSet = True 
       task.Categories = CATEGORY_TEST 
       task.Save() 
       task.Close(OlInspectorClose.olDiscard) 
関連する問題