我有一个功能,负责生成包含适当信息的Outlook电子邮件。但是,我希望附加剪贴板中的图像。我已经可以检测到剪贴板中是否存在图像并使用图片框控件来显示它。
IDataObject data = Clipboard.GetDataObject();
Image img = (Image)data.GetData(DataFormats.Bitmap, true);
因此,我可以从剪贴板中获取图像(我没有显示以检查图像是否存在)。使用图像对象,是否可以将其附加到Outlook电子邮件?在API中,它只显示Attachment.Add第一个参数是 Object source 。
我直接使用图像对象时得到的错误:
mailItem.Attachments.Add(img, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing);
是System.Runtime.InteropServices.COMException(0x80010105):服务器引发了异常。 (来自HRESULT的异常:0x80010105)RPC_E_SERVERFAULT))
谢谢。
答案 0 :(得分:2)
首先将图像保存到磁盘。
Add Method (Attachments Collection)
语法
objAttachments.Add(来源,[类型], [位置],[显示名称])
objAttachments必需。一个 返回附件的表达式 集合对象。
Source Required Variant。 该文件 (由完整路径和文件表示 名称)或构成该项目的项目 附件。