找不到错误成员。 (来自HRESULT的异常:0x80020003(DISP_E_MEMBERNOTFOUND))

时间:2014-11-11 07:04:52

标签: outlook outlook-addin outlook-2013

我正在开发Outlook 2013 Addin。

我的情景:

  1. 从Outlook邮件窗口获取所选电子邮件的电子邮件数据

  2. 创建新的电子邮件项目

  3. 使用所选电子邮件中的电子邮件数据更新新电子邮件项目

  4. 发送电子邮件

  5. 如果我选择没有附件的电子邮件并进行操作,那么它工作正常。

    但是如果选择的电子邮件有附件,那么我收到错误会员未找到。 (HRESULT异常:0x80020003(DISP_E_MEMBERNOTFOUND))

    要获取所选电子邮件数据,我使用以下代码

    MailItem mailItem = null;
    Attachments mtAttachments = null;
    
    Explorer explorer = Globals.ThisAddIn.Application.ActiveExplorer();
    
    if (explorer != null && explorer.Selection != null && explorer.Selection.Count > 0)
                {
                    object item = explorer.Selection[1];
                    if (item is MailItem)
                    {
                        mailItem = item as MailItem;
                        subject = mailItem.Subject;
                        body = mailItem.HTMLBody;
                        mtAttachments = mailItem.Attachments;
                    }
                }    
    

    要发送带有附件的新电子邮件,我正在使用以下代码。

    enter image description here

    我正在低于错误。

    enter image description here

    任何人都可以帮助我。?

1 个答案:

答案 0 :(得分:1)

Attachments.Add只能获取带有文件名或其他Outlook项(MailItem,XContactItem等)的字符串。它不会将Attachments对象的实例作为参数。

如果要将附件从一封邮件复制到另一封邮件,请先将其另存为文件,然后将附件文件名作为参数传递。