Проблема позднего связывания с методом outlook mailitem.save
У меня есть функция, которая воссоздает электронную почту, используя содержимое другой электронной почты (используя библиотеку Outlook Redemption). Я почти закончил преобразование его в раннее связывание (я использую Option Strict ON в vb.net), но Visual Studio 2010 подчеркивает строки.save и.move с ошибкой "опция strict on запрещает позднее связывание".
Код является:
'Use Redemption Library function to re-create email
Dim sItem As Redemption.SafeMailItem
Dim oItem As Object
sItem = New Redemption.SafeMailItem
oItem = myOlApp.Session.GetSharedDefaultFolder(myRecipient, Outlook.OlDefaultFolders.olFolderDrafts).Items.Add(Outlook.OlItemType.olMailItem)
With sItem
.Item = oItem
.Import(tempfilepath, 3) 'olMSG, olRFC822 and olTNEF formats are supported
.Save()
.Move(myolfolder)
End With
Решив другие ошибки позднего связывания, я не могу понять, почему два метода помечены как проблема.
Помоги Льюису
1 ответ
Вы получаете эту ошибку, потому что SafeMailItem реализует свойства и методы, заблокированные Outlook.
Поскольку Save и Move не заблокированы, SafeMailItem не реализует их, но он достаточно умен, чтобы передавать их при использовании позднего связывания. Вызовите эти методы, используя оригинальный элемент Outlook:
With sItem
.Item = oItem
.Import(tempfilepath, 3) 'olMSG, olRFC822 and olTNEF formats are supported
oItem.Save()
oItem.Move(myolfolder)
End With