我正在編寫一個Outlook07加載項,它應該將電子郵件 及其所有附件的文本存儲在單獨的pdf文件中。當然這只是爲了合理的附件,對於zip文件等是沒有意義的。將Outlook電子郵件的所有附件轉換爲PDF
我已經達到了將所有文件存儲在臨時目錄(針對每封郵件)的程度。郵件 本身很容易轉換,但我遇到附件有問題。
想法是從每個相應的辦公室interop使用exportAs方法,所以我不必在客戶端電腦上安裝aditional軟件。
要導出每個文件及其相應的辦公應用程序,首先必須找出哪個辦公應用程序可以打開它。當然,想到的第一件事就是嘗試擴展名,但必須有一些更有效的方式,然後
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;
它看起來不錯。 Thx尋求幫助,開始進入週末的好方法。
你可能誤解了我打開Word的意思。我通過Word打開文檔。應用程序wordApp = new Word.Application();然後wordApp.Open(xxxxx); – TiGoRn 2011-01-07 13:14:01