2013-05-17 4 views
1

Мне нужна помощь, пожалуйста. Мне удалось создать задачу в Outlook, используя VB и SendItem. Моя проблема в том, что код, который я использую, создает две задачи, а не только ту, которую я хочу.Outlook добавить задачу

Я попытался удалить .Save, поскольку я думал, что это было причиной, но оно все еще добавляет две задачи. Я добавил точки останова в код, чтобы гарантировать, что он не будет циклически крутиться дважды по какой-то неясной причине, и он просто выполняется один раз.

бы признателен кто-то говорит мне очевидное пожалуйста

Фрагмент кода:

`If bNotFount = False Then 
     Set Ns = Application.GetNamespace("MAPI") 
     Set ItemT = GetCurrentItem() 
     Set taskFolder = Ns.GetDefaultFolder(olFolderTasks) 
     Set olTask = Ns.GetDefaultFolder(olFolderTasks).Items.Add(olTaskItem) 
     With olTask 
      .Subject = ItemT.Subject 
      .Attachments.Add ItemT 
      .Body = ItemT.Body 
      .DueDate = Now + 1 
      .Move taskFolder 
      .Save 
      .Display 'show the task to add notes 
     End With 
    End If' 

ответ

0

Вам не нужно, чтобы переместить его в папку задач по умолчанию, потому что вы сохраните его в любом случае. Просто удалите .Move taskFolder линии.

Я обновил свой код:

Private Sub Application_ItemSend(Item As Object, ByRef Cancel As Boolean) Handles Application.ItemSend 

    Dim ns As Outlook.NameSpace 
    Dim taskFldr As Outlook.Folder 
    Dim olTask As Outlook.TaskItem 
    ' If bNotFount = False Then 
     Ns = Application.GetNamespace("MAPI") 

     taskFldr = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderTasks) 
    olTask = taskFldr.Items.Add 
     With olTask 
     .Subject = Item.Subject 
     .Attachments.Add(Item) 
     .Body = Item.Body 
     .DueDate = Now + 1 
     .Save() 
     .Display() 'show the task to add notes 
     End With 
    ' End If 
    End Sub 
+0

Отлично !! Огромное спасибо. Работал! –

+0

И если вы когда-либо используете Move, имейте в виду, что он возвращает новый элемент. Вы должны немедленно удалить старый объект: olTask ​​= olTask.Move (SomeFolder) –

Смежные вопросы