获取Outlook WinForms中的所有任务

时间:2013-09-27 09:50:19

标签: vb.net outlook mapi

我也会接受C#代码。将它转换为VB.NET。

我无法从outlook中检索任务。
我有一个将任务写入outlook的应用程序。
应用程序还可以将任务标记为已完成......但这是我的问题所在。
我想在最后实现的是在我的应用程序中将任务标记为已完成,然后它也应在outlook中标记为已完成。
这是我迄今为止尝试检索任务的代码,但现在我不知道如何迭代它们以便能够将特定任务标记为已完成:

Dim namespce As Outlook.NameSpace
Dim tasks As Outlook.Items
Dim oApp = New Outlook.Application

namespce = oApp.GetNamespace("MAPI")
tasks = namespce.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderTasks).Items

For Each task As Object In tasks
    'From here on I dont know any more
Next

1 个答案:

答案 0 :(得分:1)

C#代码:

foreach(Outlook.TaskItem task in tasks)
{
   bool isCompleeted = //Check if your task is compleeted in your application you could use EntryID property to identify a task 
   if(isCompleeted == true && task.Status != OlTaskStatus.olTaskComplete)
   {
       task.MarkComplete();
       task.Save();
   }
}