переместить mailitem в отправленные товары

Отвечая на электронные письма на веб-сайте, я получаю копию своих ответов на свой почтовый ящик. Я создаю код, который обновит мой почтовый ящик Outlook и покажет исходный запрос как ответ, а затем переместит мой ответ в папку «Отправленные». Весь код работает, за исключением того, что он не перемещает почтовый элемент в папку «Отправленные». Я не уверен, является ли «Отправленные» папкой с ограниченным доступом или где я ошибся. Мой код ниже:

'locate the imap folder rather than the default outlook folder
 Set oFolder= Application.GetNamespace("MAPI").Folders(myIMAPFolder)
 Set oInbox = oFolder.Folders("Inbox")

 'sort the inbox based on the time received to find the most recent mail with  a matching subject and sender
 Set MyItems = oInbox.Items
 MyItems.Sort "ReceivedTime", True
 i = 0
 Do
     i = i + 1
     sSearch = Mid(m.Subject, 5, 100)
     Set oReply = MyItems(i)
 Loop Until oReply.Subject = sSearch And oReply.SenderEmailAddress = m.Recipients(1).Address

 'add the reply icon to the mail in the inbox and mark the original message as being read
 With oReply
     .PropertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x10800003", 261 'standard replied icon
      .UnRead = False
      .Save
  End With

  'move my incoming message to the "Sent Items Folder" & mark as being read
  '**** THIS SECTION OF CODE DOESN'T WORK??? ****
  Set oSent = oFolder.Folders("Sent Items")
  With m
      .Move (oSent)
      .UnRead = False
      .Save
  End With

person David McGee    schedule 22.11.2015    source источник


Ответы (1)


Move - это функция, возвращающая новый элемент. Старый предмет нужно немедленно освободить. Нет необходимости звонить в Save

Set oSent = oFolder.Folders("Sent Items")
m = m.Move(Set)
person Dmitry Streblechenko    schedule 24.11.2015