【发布时间】:2011-01-07 12:55:35
【问题描述】:
我正在为 Outlook07 编写一个加载项,它应该存储电子邮件的文本 以及它的所有附件在单独的 pdf 文件中。当然这只是为了合理的附件,对于 zip 文件等没有意义。
我已经到了所有文件都存储在临时目录中的地步(对于每封邮件)。邮件 本身很容易转换,但附件有问题。
这个想法是从每个相应的办公室互操作中使用 exportAs 方法,所以我不必在客户端电脑上安装额外的软件。
要导出每个文件及其对应的办公应用程序,我首先必须找出哪个办公应用程序可以打开它。当然,首先想到的是尝试扩展,但必须有一些更有效的方法
if(fileExt == "doc" or "docx" or "wordformat i forgot") Open Word and Convert
if(fileExt == "xls") Open Excel and Convert
我试图在 msdn 文档和谷歌中找到一些东西,但 Office.Interops 是 真的很糟糕,这使得我已经很难到达现在的位置。并打开 任何地方都没有涵盖上述意义上的文档。
任何暗示都会让我非常高兴。
编辑 - 以下是我如何转换 word 文档的示例:
Word.Application wordApp = new Word.Application();
object oFilename = filename + ".html";
wordApp.Documents.Open(ref oFilename, x,x,x,x,x,x);
wordApp.ActiveDocument.ExportAsFixedFormat(filename+".pdf",
Word.WdExportFormat.wdExportFormatPDF,x,x,x,x,x);
wordApp.ActiveDocument.Close();
wordApp.Close();
wordApp = null;
编辑——成功之路:
var key = registry.ClassesRoot.OpenSubKey(Path.GetExtension(filename));
string openType = key.GetValue("").ToString().ToLower();
if(openType.StartsWith("word.")) return DocumentType.Word;
if(openType.StartsWith("excel.")) return DocumentType.Excel;
return DocumentType.Unusable;
看起来不错。感谢您的帮助,这是周末开始的好方法。
【问题讨论】:
标签: c# outlook-2007 office-2007