1

我需要一些帮助。我已经设法使用 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'
4

1 回答 1

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
于 2013-05-17T16:24:47.010 回答