2017-05-10 12 views
0

私は、いくつかの置換変数でhtmlテンプレートを作成しました。Outlook署名の作成と追加

作成した署名テンプレートを返信と新しいメッセージの署名として追加すると、Outlookにデフォルト設定されていないようです。

//string signatureName = "Example.htm"; 

//Set via office-interop new signature as default 
//using Microsoft.Office.Interop.Word; 
Application app = new Application(); 
var opt = app.EmailOptions.EmailSignature; 

opt.NewMessageSignature = signatureName; 
opt.ReplyMessageSignature = signatureName; 

app.Quit(); //Also tried WdSaveOptions.wdSaveChanges 
Marshal.ReleaseComObject(app); 

enter image description here

Outlookが追加署名(TESTを_...)を表示するが、既定の署名としてそれを認識しません。代わりに、以前のデフォルトの署名が削除されましたが、今は存在しません。

Outlookにデフォルトとして設定する必要があることはありますか?

答えて

0

明らかに問題は何か...非常に簡単です。

string signatureName = "Example.htm"; 

Outlookは、ファイル拡張子なしの署名名が必要です。 "Example.htm"の代わりに "Example"を渡しました。

0

Outlookオブジェクトモデルはそれに対して何も提供しません。もちろん、あなたは上記のコードで行ったように署名を設定するためのWordオブジェクトモデルを使用することが回避策として:

Application app = new Application(); 
var opt = app.EmailOptions.EmailSignature; 

opt.NewMessageSignature = "Eugene Astafiev"; 
opt.ReplyMessageSignature = "E.Astafiev"; 

app.Quit(); //Also tried WdSaveOptions.wdSaveChanges 
Marshal.ReleaseComObject(app); 

しかし、あなたは署名ではなく、HTMLを表し、実際のHTMLマークアップやテキストを割り当てる必要がありますドキュメントファイル名。

とにかく、すべての設定はWindowsレジストリに格納されます。詳細については、Set Default Signature outlookを参照してください。

+0

'実際のHTMLマークアップや、HTMLドキュメントのファイル名ではなく、署名を表すテキストを割り当てる必要があります。[MSDNドキュメント](https://msdn.microsoft.com/en-us/library/office /ff841021.aspx)には、署名を直接指定するのではなく、名前を使用する必要があることが記載されています。 – Blacktempel

関連する問題