outlook mailitem.save方法的后期绑定问题

时间:2013-02-12 14:25:15

标签: outlook vb.net-2010 early-binding

我有一个功能,可以使用其他电子邮件的内容重新创建电子邮件(使用Outlook Redemption库)。我几乎完成了将其转换为早期绑定(我在vb.net中使用Option Strict ON),但是visual studio 2010强调了.save和.move行,错误为“禁止后期绑定的选项严格。”

代码是:

'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 个答案:

答案 0 :(得分:0)

您收到该错误,因为SafeMailItem可以实现Outlook阻止的属性和方法。
由于保存和移动未被阻止,因此SafeMailItem不会实现它们,但是当您使用后期绑定时,它足够聪明地传递它们。使用原始Outlook项调用这些方法:

With sItem
        .Item = oItem
        .Import(tempfilepath, 3)  'olMSG, olRFC822 and olTNEF formats are supported
        oItem.Save()
        oItem.Move(myolfolder)
    End With