2017-03-16 58 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) –