我正在制作一个简单的Outlook草稿生成器。它工作正常,但我试图通过浏览按钮添加附件,但我无法弄清楚。我需要一个OpenFileDialog对象来使用Attachments.Add方法将它添加到电子邮件中,但我失去了对OpenFileDialog对象的引用,因为它只存在于AddAttachment()函数中。C# - 使用不同的按钮添加Outlook电子邮件附件的问题
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()方法生成带有附件的电子邮件草稿。有小费吗?
在此先感谢!
我之前尝试过这样做,问题在于它调用CreateMailItem()方法内部的方法AddAttachment(),所以它总是会弹出OpenFileDialog,当我真的只希望它弹出时,只需点击我的浏览按钮。 – user3642271
你是否需要将选定的文件附加到多个电子邮件? –
不,只是为了创建这封电子邮件。我只需要一个浏览按钮功能来记住我想添加到电子邮件中的文件,然后在点击“生成电子邮件按钮”时添加它们。 – user3642271