Outlook互操作打印文档名称。

15
我们使用 Outlook 的交互方法 MailItem.PrintOut() 来从 Outlook 打印邮件消息。它总是以名称 "Microsoft Outlook - 备忘录样式" 打印。
这里的 "备忘录样式" 是 Outlook 自动选择进行打印的一种打印样式。是否有任何办法可以给文档起一个自定义名称,以便我们可以在打印队列中跟踪它?
可以通过创建具有自定义名称的新打印样式明确指定自定义文档名称来实现。
基本上,我们只需要从 Outlook 中打印的电子邮件以唯一名称出现在打印队列中。请提供建议。
4个回答

1
你可以通过以下途径实现这一点:

...

Mailitem.SaveAs(FilePathName) 'FILE NAME = NEW NAME
Mailitem.Printout()

然后,当您在临时目录中完成操作后,您可以简单地删除刚创建的文件,或者一次性将它们全部删除。


1
要解决这个问题,需要查看打印机的属性。我使用Peernet的TIFF10打印机,右键单击“设备和打印机”下的打印机图标,然后点击“打印机首选项”,它会给我选择“保存”选项卡下的文件名的选项。检查您的打印机属性,可能会有一些设置。

1

我很讨厌在家里没有虚拟打印服务器来验证我的假设,但是电子邮件是否会以它们各自的主题行列在打印队列中呢?


不,它们全部显示在打印队列中,名称为“Microsoft Outlook - 备忘录样式”。 - keaukraine

1

嗯,PrintSystemObject.Name 在程序集外部是不可设置的,不幸的是,我相信这就是您查看 Windows 打印队列时看到的内容。然而,PrintSystemJobInfo.JobName 程序化地似乎是可以设置的,可能有助于您获得所需的内容。


但是我正在调用“void”Outlook互操作方法来打印文档。它不返回有关已打印文档的任何信息,只使用常量名称进行打印。我该如何确定打印队列中哪个文档是我的? - keaukraine
如果你只想知道哪个打印任务是你的,那么你可以查看打印任务的所有者。它将显示你的网络登录名。 - Ultratrunks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接