在VSTO中使用MailItem.PrintOut时如何更改打印首选项 [英] How to change print preferences when using MailItem.PrintOut in VSTO
本文介绍了在VSTO中使用MailItem.PrintOut时如何更改打印首选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试自动打印来自VSTO插件的所有传入电子邮件的第一页。 格式化必须保留,因此,据我所知,就实际打印而言,调用MailItem.PrintOut()是我唯一的方法。 这就是我到目前为止的情况。
using Outlook = Microsoft.Office.Interop.Outlook;
/*
...
*/
private void ProcessMailItem(Outlook.MailItem mailItem)
{
PrinterSettings ps = new PrinterSettings();
PrintDialog pd = new PrintDialog();
pd.AllowSomePages = true;
pd.AllowSelection = true;
ps.PrintRange = PrintRange.SomePages;
ps.FromPage = 1;
ps.ToPage = 2;
//ps.MinimumPage = 1;
//ps.MaximumPage = 2;
mailItem.PrintOut();
}
忽略设置,并使用默认设置打印电子邮件。
我暂时采用的解决方案是发送密钥以访问打印首选项,但如果可能的话,我想更改它。
private void ProcessMailItem(Outlook.MailItem mailItem)
{
SendKeys.Send("%f");
SendKeys.Send("p");
SendKeys.Send("r");
/*
TABing to page selection
TABing to OK
*/
}
如有任何帮助,将不胜感激。
推荐答案
Outlook不提供更改任何打印机设置的方法。最好是以DOC/HTML/RTF格式导出邮件,在Word中以编程方式打开该文件,然后在那里打印它。
这篇关于在VSTO中使用MailItem.PrintOut时如何更改打印首选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文