Как распечатать входящие электронные письма, сокращенные до одной страницы? - PullRequest
0 голосов
/ 30 января 2020

У меня есть код Outlook VBA для печати входящих писем от определенного c человека. Я использую этот код с правилом Outlook (с указанием c слов в адресе отправителя). Вторая страница обычно печатается с оставшимися одним или двумя предложениями в электронном письме.

Я хотел бы сжать текст в электронном письме и разместить его на одной странице до его печати. ​​

От Насколько я понимаю, этот код копирует электронную почту, открывает документ 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 в том же месте, но это, похоже, ни на что не влияет.

...