首页 > 解决方案 > 如何打印缩小到适合一页的传入电子邮件?

问题描述

我有 Outlook VBA 代码来打印来自特定人员的传入电子邮件。我将此代码与 Outlook 规则一起使用(在发件人地址中包含特定单词)。第二页通常打印电子邮件的剩余一两句话。

我想在打印之前缩小电子邮件中的文本并使其适合一页。

据我了解,此代码复制电子邮件,打开 Word 文档,粘贴电子邮件,打印电子邮件,然后关闭 Word 文档。

 Public Sub CCReceiptPrintFirstPage()
   Dim Mail As Outlook.MailItem
   Set Mail = Application.ActiveExplorer.Selection(1)

   PrintFirstPage Mail
 End Sub

 Public Sub PrintFirstPage(Mail As Outlook.MailItem)
   Dim wdApp As Word.Application
   Dim wdDoc As Word.Document
   Dim olDoc As Word.Document

   Set wdApp = CreateObject("Word.Application")
   Set wdDoc = wdApp.Documents.Add(Visible:=True)
   Set olDoc = Mail.GetInspector.WordEditor
   olDoc.Range.Copy
   wdDoc.Range.Paste

   wdDoc.PrintOut Range:=wdPrintFromTo, From:="1", To:="1"
   DoEvents
   wdDoc.Close False
   wdApp.Quit
 End Sub

我添加了wdDoc.PrintOut Range:=wdPrintFromTo, From:="1", To:="1",但现在它切断了最后两句话。

我尝试wdDoc.FitToPages在下面 添加wdDoc.Range.Paste,但我得到了

运行时错误 5539
“多次尝试后,Word 无法将文档缩小一页”。

我也在同一个地方尝试过wdDoc.PageSetup.TwoPagesOnOne = True,但这似乎没有任何影响。

标签: vbaoutlookms-word

解决方案


推荐阅读