【发布时间】:2015-05-21 15:16:16
【问题描述】:
我正在制作一个简单的 Outlook 草稿生成器。它工作正常,但我试图通过浏览按钮添加附件,但我无法弄清楚。我需要一个 OpenFileDialog 对象来使用 Attachments.Add 方法将其添加到电子邮件中,但是我丢失了对 OpenFileDialog 对象的引用,因为它只存在于 AddAttachment() 函数中。
OpenFileDialog attachment = new OpenFileDialog();
attachment.Title = "Select files to attach";
attachment.ShowDialog();
if (attachment.ShowDialog() == DialogResult.OK)
{
mail.Attachments.Add(attachment.FileName, Outlook.OlAttachmentType.olByValue, 1, attachment.FileName);
}
这可行,但它与我的 CreateMailItem() 函数在同一个函数中,这意味着它将始终打开文件对话框,您是否单击了浏览按钮。
private void CreateMailItem()
{
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.MailItem mail = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
mail.Subject = "";
mail.To = "";
mail.CC = "";
mail.Body = "";
mail.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceNormal;
mail.Display(false);
这个函数后面是 OpenFileDialog 部分。 我想将 OpenFileDialog 部分添加到按钮,然后将 OpenFileDialog 对象实例 FileName 传递给 mail.Attachment.Add() 方法,但邮件对象仅存在于 CreateMailItem() 方法中。毕竟,我想使用 CreateMailItem() 方法生成带有附件的电子邮件草稿。有什么建议吗?
提前致谢!
【问题讨论】:
标签: c# outlook attachment