メールのテキストを格納するOutlook07のアドインを作成中です。 とその添付ファイルは別々のPDFファイルに保存してください。もちろんこれは合理的な添付ファイルのためだけであり、zipファイルなどには意味がありません。Outlook電子メールのすべての添付ファイルをPDFに変換する
すべてのファイルが一時ディレクトリ(各メール)に格納されています。メール 自体は簡単に変換されますが、添付ファイルに問題があります。
アイデアは、それぞれの対応するオフィスinteropからexportAsメソッドを使用することです。したがって、クライアントPCに追加ソフトウェアをインストールする必要はありません。
それぞれのファイルを対応するオフィスアプリケーションでエクスポートするには、まずそのファイルを開くことができるオフィスアプリケーションを見つけなければなりません。確かに、心に来る最初の事は拡張子を試したが、いくつかのより効率的な方法が存在しなければならないされ、その後
if(fileExt == "doc" or "docx" or "wordformat i forgot") Open Word and Convert
if(fileExt == "xls") Open Excel and Convert
私は、MSDNのドキュメンテーションで何かを見つけるとGoogleしようとしたが、Office.Interopsは です本当に私は今どこにいるのか、すでに難しくなっています。上記の意味で 文書を開くことはどこにも含まれていません。
すべてのヒントは私を本当に幸せにするでしょう。それは格好良いです
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;
: - 成功への道
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;
EDIT: -
EDIT次は私がWord文書を変換する方法の例です。 Thxは、週末に始めるのに最適な方法です。
あなたはWordを開くという私の意味を誤解しているかもしれません。 Word.Applicationでアプリケーションを「開く」wordApp = new Word.Application();次にwordApp.Open(xxxxx); – TiGoRn
おそらく私が言ったとき、あなたが「拡張機能を試していますが、もっと効率的なやり方が必要です」と言ったときに、指定した拡張子を持つファイルを開いたアプリケーション。 –
私は、拡張機能とオフィスアプリケーションとの間のレジストリ関係のマッピングを作成し、どのinterop.appでファイルを開くかを決定する方法があると思います。 – TiGoRn