使用日历项中的附件-Outlook-C#

马埃洛

我正在尝试使用通过编程方式提取的日历项目中包含的附件​​。我有一个从上一个对话框中选择的日历主题行的列表,并且在主题正确传输时,主体无法正常运行(完全是另一个问题),但是附件却无法正常运行。这是我的foreach循环,其中将附件放置到Attachments数组中,以备后用:

        string[] subjects = new string[dialog.chosen.Count];
        string[] bodies = new string[dialog.chosen.Count];
        Attachments[] attach = new Attachments[dialog.chosen.Count];
        foreach (Outlook.AppointmentItem appt in rangeAppts)
        {
            foreach (string text in dialog.chosen)
            {
                if (text == appt.Subject)
                {
                    subjects[i] = appt.Subject;
                    bodies[i] = Convert.ToString(appt.Body);
                    attach[i] = appt.Attachments;
                    i = i + 1;
                }
            }

        }

然后这是我实际调用该方法的地方:

            sendEmailTemplate(bodies[i], subject, to, "", attachment: attach[i]);

然后是方法本身:

public void sendEmailTemplate(string body, string subject, string to, string cc , Attachments attachment = null)
{
    Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
    Microsoft.Office.Interop.Outlook._MailItem oMailItem = (Microsoft.Office.Interop.Outlook._MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
    oMailItem.HTMLBody = body;
    oMailItem.Subject = subject;
    try
    {
        oMailItem.Attachments.Add(attachment);
    }
    catch {}
    oMailItem.To = to;
    oMailItem.CC = cc;
    oMailItem.Display(false);
    oMailItem.Application.ActiveInspector().WindowState = Microsoft.Office.Interop.Outlook.OlWindowState.olNormalWindow;
}

我已经尝试了几件事,但是当我实际去发送电子邮件时,最终得到了:

例外:找不到成员。结果:0x80020003

然后我没办法使其他任何东西都能正常工作。该方法上的try / catch循环是为了防止上述异常,因为无论是否存在附件,我都会得到该异常,现在不添加附件。

我正在使用Office随C#一起提供的Interop。Winforms会有所作为。

德米特里·斯特雷布琴科(Dmitry Streblechenko)

MailItem.Attachments采用字符串(完全限定的文件名)或另一个Outlook项目(MailItem,ContactItem等)。

您不能将Attachments对象作为参数传递。如果需要复制附件,请遍历Attachments集合中的所有附件,为每个附件调用Attachment.SaveAsFile,将文件名传递给MailItem.Attachments.Add,然后删除临时文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建邮件时阅读Outlook加载项(C#)中的Outlook附件内容

来自分类Dev

Outlook加载项-使用C ++获取当前选定的日历日期

来自分类Dev

C#关闭共享的Outlook日历

来自分类Dev

获取共享的 Outlook 日历事件 C#

来自分类Dev

使用C#程序读取Outlook日历约会时出错

来自分类Dev

C#:将资源作为附件添加到 Outlook 邮件项

来自分类Dev

C#使用Outlook发送邮件

来自分类Dev

如何使用C#更新Outlook约会?

来自分类Dev

c# - 以编程方式从 Outlook 电子邮件中删除附件

来自分类Dev

使用C#将Outlook邮件附件转换为字节数组

来自分类Dev

使用C#在Outlook中禁用回复或转发

来自分类Dev

使用C#在Outlook中禁用回复或转发

来自分类Dev

如何使用 C# MSGraph 将日历事件添加到 Outlook 365

来自分类Dev

从Outlook约会中检索C#加载项的位置

来自分类Dev

如何以编程方式保存C#中由用户使用CTRL-C复制到剪贴板的Outlook电子邮件附件(例如PDF)

来自分类Dev

Outlook API在C#中获取会议详细信息

来自分类Dev

Outlook API在C#中获取会议详细信息

来自分类Dev

如何在Outlook C#中替换MailItem

来自分类Dev

如何从C#中的Outlook获取MailItem的最后回复?

来自分类Dev

使用Outlook 2013和C#编写电子邮件

来自分类Dev

如何使用C#检查Microsoft Outlook是否已打开?

来自分类Dev

使用C#将Outlook导入到Excel

来自分类Dev

在C#中使用Outlook API发送数据表

来自分类Dev

使用 OUTLOOK VBScript 向 C# 发送邮件

来自分类Dev

使用Microsoft.Office.Interop.Outlook连接到Outlook的稳定性C#表单

来自分类Dev

共享组中的Outlook日历创建事件的重复项

来自分类Dev

枚举Outlook加载项中的联系人和日历事件?

来自分类Dev

C#-Outlook-访问新日历

来自分类Dev

C#-Outlook-访问新日历

Related 相关文章

  1. 1

    创建邮件时阅读Outlook加载项(C#)中的Outlook附件内容

  2. 2

    Outlook加载项-使用C ++获取当前选定的日历日期

  3. 3

    C#关闭共享的Outlook日历

  4. 4

    获取共享的 Outlook 日历事件 C#

  5. 5

    使用C#程序读取Outlook日历约会时出错

  6. 6

    C#:将资源作为附件添加到 Outlook 邮件项

  7. 7

    C#使用Outlook发送邮件

  8. 8

    如何使用C#更新Outlook约会?

  9. 9

    c# - 以编程方式从 Outlook 电子邮件中删除附件

  10. 10

    使用C#将Outlook邮件附件转换为字节数组

  11. 11

    使用C#在Outlook中禁用回复或转发

  12. 12

    使用C#在Outlook中禁用回复或转发

  13. 13

    如何使用 C# MSGraph 将日历事件添加到 Outlook 365

  14. 14

    从Outlook约会中检索C#加载项的位置

  15. 15

    如何以编程方式保存C#中由用户使用CTRL-C复制到剪贴板的Outlook电子邮件附件(例如PDF)

  16. 16

    Outlook API在C#中获取会议详细信息

  17. 17

    Outlook API在C#中获取会议详细信息

  18. 18

    如何在Outlook C#中替换MailItem

  19. 19

    如何从C#中的Outlook获取MailItem的最后回复?

  20. 20

    使用Outlook 2013和C#编写电子邮件

  21. 21

    如何使用C#检查Microsoft Outlook是否已打开?

  22. 22

    使用C#将Outlook导入到Excel

  23. 23

    在C#中使用Outlook API发送数据表

  24. 24

    使用 OUTLOOK VBScript 向 C# 发送邮件

  25. 25

    使用Microsoft.Office.Interop.Outlook连接到Outlook的稳定性C#表单

  26. 26

    共享组中的Outlook日历创建事件的重复项

  27. 27

    枚举Outlook加载项中的联系人和日历事件?

  28. 28

    C#-Outlook-访问新日历

  29. 29

    C#-Outlook-访问新日历

热门标签

归档