如何编辑收到的电子邮件会增加字体大小并显示“打印预览”

时间:2019-01-24 23:29:08

标签: vba outlook outlook-vba

Outlook 2016在打印HTML邮件时似乎无法更改文本大小,我想用宏解决问题。

它应该:

  1. 打开选定的消息。

  2. 将格式更改为HTML(对于纯文本邮件(即使这些邮件的文本大小可以调整))。

  3. 进入编辑模式。

  4. 选择全文。

  5. 增加字体大小(x倍)。

  6. 显示打印对话框。

这是到目前为止我发现的一点:

Sub test()
    ActiveExplorer.Selection(1).Display
    ActiveExplorer.Selection(1).BodyFormat = olFormatHTML
    ActiveInspector.CommandBars.ExecuteMso "EditMessage"
    SendKeys "^(a)"
    SendKeys "^+(<)"
    SendKeys "^+(<)"
    SendKeys "^+(<)"
    SendKeys "^+(<)"
    SendKeys "%(du)"
End Sub

它可以工作,但是我对此并不满意。

任何想法,如果没有SendKeys,我怎么能执行步骤4-6?

1 个答案:

答案 0 :(得分:0)

尝试

Option Explicit
Public Sub Example()
    Dim olMsg As Object
    Set olMsg = ActiveExplorer.selection.Item(1)

    Dim Email As Outlook.MailItem
    If TypeOf olMsg Is MailItem Then
       Set Email = olMsg

       If Email.BodyFormat <> olFormatHTML Then
          Email.BodyFormat = olFormatHTML
          Email.Body = "<font size=" & "30" & ">" & Email.Body & "</font>"
          Email.Save
          Email.Display
          ActiveInspector.CommandBars.ExecuteMso "FilePrintPreview"
       End If

    End If
End Sub