Outlook-Workshop - Email ausdrucken - Teil 2

In diesem Teil lernen wir, wie man eine HTML-Mail über den Internet-Explorer ausdrucken kann. Vorteil (oder auch ein Nachteil?) ist, dass der in Outlook übliche Header nicht mit ausgedruckt wird. Ein Nachteil ist dass eine Seitenauswahl nicht möglich ist, es wird immer die gesamte Email gedruckt. In diesem Teil werden nur HTML-Mails berücksichtigt.

Bei dieser Methode wird die HTML-Mail in einer Datei gespeichert. Diese Datei wird dann im Browser geöffnet und über dessen Druckfunktion ausgedruckt. Es wird der Standarddrucker verwendet. Der Druckdialog erscheint nicht.

Hinweis: Sie müssen einen Verweis auf die Microsoft Internet Controls setzen.


Option Explicit

Public Sub PrintActiveMailWithIE()

Dim IEApp         As Object
Dim FSO           As Object
Dim FilePath      As Object
Dim objFile       As Object
Dim obj           As Object

Dim strUrl        As String
Dim strHTML       As String


      Select Case True
             Case TypeOf Application.ActiveWindow Is Outlook.Inspector
                  Set obj = Application.ActiveInspector.CurrentItem
             Case Else
                  With Application.ActiveExplorer.Selection
                       If .Count Then Set obj = .Item(1)
                  End With
             If obj Is Nothing Then Exit Sub
      End Select
      
 
      Set IEApp = CreateObject("InternetExplorer.Application")
      Set FSO = CreateObject("Scripting.FileSystemObject")
     

      Set FilePath = FSO.GetSpecialFolder(2)
          strUrl = FilePath & "\ViewInBrowser.htm"
      Set objFile = FSO.CreateTextFile(strUrl, True)
         
          With objFile
               strHTML = obj.HTMLBody
              .Write "" & strHTML
              .Close
          End With

 
          With IEApp
               .Navigate (strUrl)
               .ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, 0, 0
       
                    Do While .busy
                       DoEvents
                    Loop
     
               .Quit
          End With

End Sub