创建和添加 Outlook 签名
Creating and adding Outlook Signature
我创建了一个带有几个替换变量的 html 模板。
将创建的签名模板添加为回复和新邮件的签名似乎不会让 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);
Outlook 显示添加的签名 (TEST_...) 但不将其识别为默认签名。相反,它只是删除了以前的默认签名,现在有 none.
是否还需要其他东西来告诉 outlook 将其设置为默认值?
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。
显然问题是...很简单。
string signatureName = "Example.htm";
Outlook/Word 需要没有文件扩展名的签名名称。传递“Example
”而不是“Example.htm
”有效。
我创建了一个带有几个替换变量的 html 模板。
将创建的签名模板添加为回复和新邮件的签名似乎不会让 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);
Outlook 显示添加的签名 (TEST_...) 但不将其识别为默认签名。相反,它只是删除了以前的默认签名,现在有 none.
是否还需要其他东西来告诉 outlook 将其设置为默认值?
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。
显然问题是...很简单。
string signatureName = "Example.htm";
Outlook/Word 需要没有文件扩展名的签名名称。传递“Example
”而不是“Example.htm
”有效。