Попробуйте сначала переместить его, а затем удалить его (работает с некоторыми исправлениями в 2000 году) или использовать RDO или CDO, чтобы выполнить работу за вас (вам придется установить их)
Set objDeletedItem = objDeletedItem.Move(DeletedFolder)
objDeletedItem.Delete
CDO way
Set objCDOSession = CreateObject("MAPI.Session")
objCDOSession.Logon "", "", False, False
Set objMail = objCDOSession.GetMessage(objItem.EntryID, objItem.Parent.StoreID)
objMail.Delete
РДУ
set objRDOSession = CreateObject("Redemption.RDOSession")
objRDOSession.Logon
set objMail = objRDOSession.GetMessageFromID(objItem.EntryID>)
objMail.Delete
Вы также можете сначала пометить сообщение перед тем, как удалить его, а затем перебрать папку с удаленными элементами и найти его во время удаления во второй раз. Отметьте его, используя свойство пользователя.
objMail.UserProperties.Add "Deleted", olText
objMail.Save
objMail.Delete
Перебирайте удаленные элементы, ищите этого пользователя.
Set objDeletedFolder = myNameSpace.GetDefaultFolder(olFolderDeletedItems)
For Each objItem In objDeletedFolder.Items
Set objProperty = objItem.UserProperties.Find("Deleted")
If TypeName(objProperty) <> "Nothing" Then
objItem.Delete
End If
Next