【发布时间】:2014-10-20 20:12:36
【问题描述】:
有什么方法可以在 Outlook 中编写 VBA 宏,强制打印输出到特定打印机(即使它不一定是默认打印机),类似于 Word
Application.ActivePrinter = "Printer Name"
选项?我想创建一个按钮,将当前电子邮件和附件打印到特定打印机(在本例中为 PDF 打印机,但我猜无论如何它应该是相同的原理),但似乎找不到方法强制在代码中使用哪台打印机。
【问题讨论】:
有什么方法可以在 Outlook 中编写 VBA 宏,强制打印输出到特定打印机(即使它不一定是默认打印机),类似于 Word
Application.ActivePrinter = "Printer Name"
选项?我想创建一个按钮,将当前电子邮件和附件打印到特定打印机(在本例中为 PDF 打印机,但我猜无论如何它应该是相同的原理),但似乎找不到方法强制在代码中使用哪台打印机。
【问题讨论】:
不,Outlook 只公开MailItem.PrintOut 方法。
您可以使用 MailItem.SaveAs 将消息保存为 DOC 或 RTF 格式,在 Word 中打开它,然后使用 Word 对象模型进行打印。
【讨论】:
你可以用这个:
Dim WshNetwork As Object
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.setDefaultPrinter "Microsoft Print to PDF"
用您的打印机名称填写字符串。
【讨论】: