长话短说 - 我正在使用VSTO创建一个工具,以PDF格式将文档数字化存档,并自动将它们分类到相应的文件夹中。使用Microsoft Word 2010加载项,我已经达到了我想要的确切结果,但现在我必须使其适应Outlook 2010。
在Word中,我可以通过
参考我的活动文档doc = Globals.ThisAddIn.Application.ActiveDocument;
并设置文件格式,我使用
FileFormat = WdSaveFormat.wdFormatPDF;
我通过
保存doc.ExportAsFixedFormat(Name.ToString(), WdExportFormat.wdExportFormatPDF, false, WdExportOptimizeFor.wdExportOptimizeForPrint, WdExportRange.wdExportAllDocument, 0, 0, WdExportItem.wdExportDocumentContent, false, false, WdExportCreateBookmarks.wdExportCreateWordBookmarks, false, true, true, ref FixedFormatExtClassPtr);
我认为Outlook会有很大不同,因为我必须考虑:
ActiveDocument
非常相似)如果能够回答/解决上述任何问题,那么我将非常感激。谢谢
(我对Stack Overflow很新,据我所知,这个问题遵循我在网站上阅读的规则。如果没有,请你礼貌地告诉我,我会删除它)
答案 0 :(得分:1)
我可以回答你的一些问题并不是全部。
1 - 如果您想获得所选项目,请使用
var ex = Application.ActiveExplorer;
var selected = ex.Selection
如果您想要打开物品,请使用
var opened = Application.ActiveInspector.currentItem;
2& 3 - 上面将返回MailItem对象,它有一个名为Attachments的属性,所以你可以检查是否有任何
4 - 您当然可以尝试检查所有附件的扩展名并决定但我不确定您的意思是什么
5 - 当然,MailItem对象也有Body属性,因此您可以获取所有文本
可能困难的部分将保存为PDF我不知道如何做到这一点,如果它是图像