2017-03-16 77 views
0
Dim clientTZService As ExchangeService = New ExchangeService(ExchangeVersion.Exchange2010) 


clientTZService.Credentials = New NetworkCredential(userEmail, userPass) 
clientTZService.AutodiscoverUrl(userEmail, AddressOf RedirectionCallBack) 


     Dim Task1 As Task = New Task(clientTZService) 
     Task1.Subject = "New Task" 
     Task1.Body = New MessageBody(String.Format("test")) 
     Task1.StartDate = DateTime.Now 
     Dim DueDate As DateTime = New DateTime(DateTime.Now.Year,  DateTime.Now.Month, DateTime.Now.Day + 2) 
     Task1.DueDate = DueDate 
      Task1.Recurrence = New Recurrence.MonthlyPattern(New DateTime(2017, 4, 11, 10, 0, 0), 1, 11) 
      Task1.Recurrence.StartDate = New DateTime(2017, 4, 11, 10, 0, 0) 
      Task1.Save(New FolderId(WellKnownFolderName.Tasks, "[email protected]")) 

任何人都可以让我知道使用EWS更新任务的最简单方法,例如: 谢谢。Exchange网络服务 - 更新任务

回答

0

经过艰苦的研究,我想我已经找到了一种方法来做到这一点。这将更新任务完成!

请参阅以下内容:

Dim instance As ConflictResolutionMode = ConflictResolutionMode.AlwaysOverwrite 


      Dim tasksFolder As Folder = Folder.Bind(clientTZService, New FolderId(WellKnownFolderName.Tasks, useremail)) 

      tasksFolder.Load() 
      For Each task1 As Task In tasksFolder.FindItems(New ItemView(100)) 
       task1.Load() 
       If task1.Id.ToString = taskrow("OutlookTaskID") Then 
        task1.PercentComplete = 100 
        task1.Update(instance) 
        Exit For 
       End If 
      Next 
1

您用来创建任务的任务类有一个更新方法https://msdn.microsoft.com/EN-US/library/microsoft.exchange.webservices.data.task.update(v=exchg.80).aspx这是您用来更新任务的内容。与EWS中的任何其他邮箱项目一样,在更新它之前,您需要使用FindItems https://msdn.microsoft.com/en-us/library/office/dd633693(v=exchg.80).aspx来查找要更新的对象的EWSId,然后更改要更改的属性并调用Update方法。

+0

我保存任务的ID后,是created.So我想知道是否有通过任务文件夹lloping的任何方式,然后编辑任务的时候客户想要更改或修改它? –

+0

会有这样的工作吗?在保存任务后,如果任务使用TAsk1.ID,然后将其保存到数据库,我将获得ID。当我想更新它,'code'昏暗的项目,作为项目Id = taskrow( “OutlookTaskID”) 昏暗的任务,因为任务= task.Bind(clientTZService,项目) task.Load() task.PercentComplete = 100 Dim instance As ConflictResolutionMode = ConflictResolutionMode.AlwaysOverwrite task.Update(instance) –