Firmenlink

 

Outlook: Keine Bandwurmmails drucken

Problem: In vielen Mailwechseln werden sämtliche vergangenen Antworten mitzitiert. Das ergibt beim Ausdrucken jeweils einen ganzen «Bandwurm», d.h. die schon ausgedruckten Mails erscheinen da ja jedesmal wieder. Wie kann ich nur die letzte erhaltene Mail der Konversation ausdrucken?

von Gaby Salvisberg 04.02.2012

Lösung: Sie können versuchen abzuschätzen, wieviele Seiten für die Mail benötigt werden und so im Druckdialog (Datei/Drucken) einfach nur die entsprechende Seitenanzahl eingeben. Outlook 2010 zeigt im rechten Teil eine kleine Vorschau an, die Ihnen bei dieser Einschätzung hilft. In Outlook 2007 können Sie nach dem Aufruf von Datei/Drucken auch eine Seitenansicht einblenden - oder Sie greifen erst zu Datei/Seitenansicht und gehen von dort aus zu Drucken. Sie müssten halt damit leben, dass auf dem ausgedruckten Blatt jeweils noch ein paar Zeilen der nächsten (älteren) Mail erscheinen.

Variante per Makro

Sie könnten auch zu einem Makro greifen. Das Makro, das wir Ihnen hier vorstellen, tut Folgendes: Es kopiert aus der aktuell angeklickten Mail im Posteingang alle Zeilen bis zum ersten «From» (das ist die Zeile, in der die erste zitierte Mail anfinge). Den kopierten Teil fügt es in eine neue Mail ein. Drucken Sie diese aus, dann haben Sie nur gerade diese eine Mail auf dem Blatt. Kopfzeilendaten wie Original-Absender und -Datum fehlen dabei allerdings.

Teil des Makros Teil des Makros Zoom So gehts: Drücken Sie in Outlook die Tastenkombination Alt+F11. Klappen Sie in der linken Spalte erst «Projekt1» auf und darin «Microsoft Outlook Objekt». Doppelklicken Sie auf ThisOutlookSession. Markieren und kopieren Sie untenstehenden kompletten Makrocode und fügen Sie ihn ins meist noch leere weisse Feld ein.

Klicken Sie anschliessend auf Speichern (Diskettensymbol) und gehen zu Datei/Schliessen und zurück zu Microsoft Outlook. Hier der komplette Makrocode:

Sub LetztesMail()

On Error GoTo LetztesMail_err
' Declare variables
Dim Newfolder As MAPIFolder
Dim strNewfolder As String
Dim ns As NameSpace
Dim Sentbox As MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Dim Meeting As Boolean
Dim ungelesene As Boolean
ungelesene = False
Meeting = False

Set ns = GetNamespace("MAPI")
Set Sentbox = ns.GetDefaultFolder(olFolderInbox)

If Application.ActiveExplorer.CurrentFolder <> "Posteingang" Then
MsgBox "Sie befinden sich nicht im Ordner Posteingang", vbInformation, "Falscher Standort"
Exit Sub
End If

i = 0

If Sentbox.Items.Count = 0 Then
MsgBox "Es hat keine Emails im Ordner Posteingang.", vbInformation, "Nichts gefunden"
Exit Sub
End If

If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox "Es ist kein Eintrag selektiert"
Exit Sub
End If

' Check selektierte Mail auf Attachements
For Each Item In Application.ActiveExplorer.Selection

If Item.Class = 53 Or Item.Class = 54 Then
Meeting = True
End If

If Item.Class = olMail Then
If InStr(1, Item.Body, "From:") > 0 Then
Neumail (Left(Item.Body, InStr(1, Item.Body, "From:") - 1))
Else
If MsgBox("Der Text From wurde nicht gefunden!" & vbNewLine & "Wollen Sie den kompletten Text kopieren?", vbYesNo, "Nicht gefunden") = vbYes Then
Neumail Item.Body
End If
End If
End If
Next Item

LetztesMail_exit:
Set Atmt = Nothing
Set Item = Nothing
Set ns = Nothing
Exit Sub

LetztesMail_err:
MsgBox "An unexpected error has occurred." _
& vbCrLf & "Please note and report the following information." _
& vbCrLf & "Macro Name: LetztesMail" _
& vbCrLf & "Error Number: " & Err.Number _
& vbCrLf & "Error Description: " & Err.Description _
, vbCritical, "Error!"
Resume LetztesMail_exit
End Sub
Public Function Neumail(text As String)
On Error GoTo err_
Dim ool As Outlook.Application
Dim omail As Outlook.MailItem
Dim myattachements As Variant
Dim oNeueNachricht
Dim Nachricht

Set ool = CreateObject("outlook.application")
Set omail = ool.CreateItem(olMailItem)
Set myattachements = omail.Attachments
Set oNeueNachricht = omail

With oNeueNachricht

.Body = text
omail.Display
End With

exit_:
Exit Function
err_:
MsgBox Err.Description, , "Email generierung"
Resume exit_
End Function

Zum Ausführen des Makros klicken Sie erst die gewünschte Mail im Posteingang an. Drücken Sie jetzt die Tastenkombination Alt+F8, klicken das Makro an und danach die Schaltfläche Ausführen. Der Inhalt der Mail wird in einer neuen Mail angezeigt, die Sie drucken können.

Aufgepasst: Die Makros sind in Outlook 2010 standardmässig deaktiviert. Gehen Sie zu Datei/Optionen und weiter zum Sicherheitscenter. Drücken Sie auf die Schaltfläche Einstellungen für das Sicherheitscenter. Im Bereich Einstellungen für Makros wählen Sie die Option Benachrichtigungen für alle Makros. So erscheint zwar in jeder Sitzung einmal eine Warnmeldung, bevor das Makro erstmals gestartet wird, aber es lässt sich immerhin ausführen. Von der untersten Option («Alle Makros aktivieren») sollten Sie aus Sicherheitsgründen absehen.

Makro in der Leiste für den Schnellzugriff Makro in der Leiste für den Schnellzugriff Zoom Das Makro können Sie ganz oben links in die Schnellzugriffsleiste einfügen: Klappen Sie das kleine Menü aus und wählen Weitere Befehle. Im Ausklappmenü «Befehle auswählen» greifen Sie zu «Makros», klicken in der Liste das Makro «Project1.ThisOutlookSession.LetztesMail» an und gehen zu Hinzufügen. Via Ändern passen Sie noch das gewünschte Icon und den zugehörigen Anzeigenamen an. Ab sofort starten Sie das Makro einfach durch einen Klick auf Ihr Icon. (PCtipp-Forum)


    Kommentare

    Keine Kommentare

    Sie müssen eingeloggt sein, um Kommentare zu verfassen.