在VSTO中使用MailItem.PrintOut时如何更改打印首选项 [英] How to change print preferences when using MailItem.PrintOut in VSTO

查看:0
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆