我需要帮助。我已经设法使用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'
您不需要将其移动到默认任务文件夹中,因为您已经将其保存在那里了。只要去掉.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