2011-01-07 6 views
1

私はOutlookの自動化機能を持っています。メッセージコンテンツのテンプレートとしてWord文書を使用したいと思います。私はテーブル、色、サイズなどを含むいくつかの書式設定されたテキストを持っていると言うことができます。今私はコピー/ Outlookメッセージオブジェクトにこのコンテンツを貼り付けたいと思います。ここで
OutlookのメッセージにWord形式をコピーする

は、いくつかのサンプルコード(ノークリーンアップ)されます。Outlook/Wordの2007を使用して

String path = @"file.docx"; 
String savePath = @"file.msg"; 
Word.Application wordApp = new Word.Application(); 
Word.Document currentDoc = wordApp.Documents.Open(path); 
Word.Range range = currentDoc.Range(0, m_CurrentDoc.Characters.Count); 
String wordText = range.Text; 

oApp = new Outlook.Application(); 
Outlook.NameSpace ns = oApp.GetNamespace("MAPI"); 
ns.Logon("MailBox"); 
Outlook._MailItem oMsg = oApp.CreateItem(Outlook.OlItemType.olMailItem); 
oMsg.To = "[email protected]"; 
oMsg.Body = wordtext; 
oMsg.SaveAs(savePath); 

、しかしワードファイルはまだ2000/2003形式(.DOC)にmayb。
Visual Studio 2010 with .net 4.0(サンプルコードのために明らかです)。

私は相互運用に慣れています。私は現在、「プレーンテキスト」をコピーしています。私はそれが単語の文書からrtf/htmlをretreivingによって行われなければならないと思う...

何か提案がありますか?

+0

あなたはいくつかのコードを表示できますか? – HABJAN

+0

質問に追加... – Jaster

+0

私はクリップボードを使ってコピー/ペーストを使用していません! – Jaster

答えて

0

Office 2007には、自分の目的に使用できる「MailEnvelope」機能があります。

1

コンテンツを読み込んでいる文字列は、フォーマットを維持できません。書式を保持するには、別の方法で選択範囲をコピーする必要があります。

文書をHTML形式で保存する方法は、追加のHTML単語を追加したり、HTMLコンテンツを文字列に読み込むことができます。つまり、この文字列には生成されたタグがあります。 outlook mailItemを開き、body formatをhtmlに設定します。 htmlに単語を保存したhtmlにbodyを設定します。

+0

まあ、アイデアははっきりしていますが、別の形式(html、rtf)でWord文書を保存し、2を試してみると、フォーマットされていないrangetextが得られます。 Maybあなたはいくつかの作業コードを追加することができますか? – Jaster

+0

文書全体が正しいようにしたいですか? – kd7

+0

「オブジェクト」を含める必要があるかどうかはわかりませんが、私はフォーム作成の全体が必要です。 – Jaster

関連する問題