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