2012-09-03 58 views
14

我们使用Outlook interop方法MailItem.PrintOut()从Outlook打印邮件。 它总是打印名称“Microsoft Outlook - 备忘录样式”。Outlook interop PrintOut文档名称

备注样式”这里是Outlook自动选择打印的打印样式。 有什么办法给文档提供任何自定义名称,以便我们可以在打印机队列中跟踪它?

它可以是创建自定义名称明确指定自定义文件名一个新的打印样式。

基本上,我们只需要从Outlook打印的电子邮件以独特的名称出现在打印机队列中。请指教。

回答

1

我讨厌我在家里没有虚拟打印服务器来检查我的假设,但是不会将打印队列中的列表作为各自的主题行发送到电子邮件列表中?

+0

不,它们全部以“Microsoft Outlook - 备忘录样式”的形式出现在打印机队列中 – keaukraine

1

嗯,PrintSystemObject.Name不能在程序集外部设置,不幸的是,我相信这是您查看Windows打印队列时看到的内容。但是,PrintSystemJobInfo.JobName似乎可以通过编程方式设置,并可能帮助您获得所需的内容。

+0

但是我打电话给'无效'Outlook互操作方法来打印文档。它不返回有关打印文档的任何信息,只打印其常量名称。如何确定打印队列中的哪一个文件是我的? – keaukraine

+0

那么,如果你想知道的是你的打印工作,你可以看看打印工作的所有者。它会有你的网络登录名。 – Ultratrunks

1

解决此问题的方法是查看打印机的属性。我使用Peernet的TIFF10打印机,当我右键点击设备和打印机下的打印机图标,然后点击'打印机首选项'时,它使我可以选择在'保存'选项卡下选择文件名。检查您的打印机的属性。它可能必须通过....

Mailitem.SaveAs(FilePathName)“文件名=新名称

Mailitem.Printout()

那么你可以简单的东西

1

你可以这样做删除刚刚创建的文件,或者在临时目录中完成后立即删除它们。