Tipps & Tricks 04.02.2012, 09:53 Uhr

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?
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
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:
Information
Sub LetztesMail() On Error GoTo LetztesMail_err' Declare variablesDim Newfolder As MAPIFolderDim strNewfolder As StringDim ns As NameSpaceDim Sentbox As MAPIFolderDim Item As ObjectDim Atmt As AttachmentDim FileName As StringDim i As IntegerDim Meeting As BooleanDim ungelesene As Booleanungelesene = FalseMeeting = False Set ns = GetNamespace("MAPI")Set Sentbox = ns.GetDefaultFolder(olFolderInbox) If Application.ActiveExplorer.CurrentFolder < "Posteingang" ThenMsgBox "Sie befinden sich nicht im Ordner Posteingang", vbInformation, "Falscher Standort"Exit SubEnd If i = 0 If Sentbox.Items.Count = 0 ThenMsgBox "Es hat keine Emails im Ordner Posteingang.", vbInformation, "Nichts gefunden"Exit SubEnd If If Application.ActiveExplorer.Selection.Count = 0 ThenMsgBox "Es ist kein Eintrag selektiert"Exit SubEnd If ' Check selektierte Mail auf AttachementsFor Each Item In Application.ActiveExplorer.Selection If Item.Class = 53 Or Item.Class = 54 ThenMeeting = TrueEnd IfIf Item.Class = olMail ThenIf InStr(1, Item.Body, "From:") > 0 ThenNeumail (Left(Item.Body, InStr(1, Item.Body, "From:") - 1))ElseIf MsgBox("Der Text From wurde nicht gefunden!" & vbNewLine & "Wollen Sie den kompletten Text kopieren?", vbYesNo, "Nicht gefunden") = vbYes ThenNeumail Item.BodyEnd IfEnd IfEnd IfNext Item LetztesMail_exit:Set Atmt = NothingSet Item = NothingSet ns = NothingExit 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_exitEnd SubPublic Function Neumail(text As String)On Error GoTo err_Dim ool As Outlook.ApplicationDim omail As Outlook.MailItemDim myattachements As VariantDim oNeueNachrichtDim Nachricht Set ool = CreateObject("outlook.application")Set omail = ool.CreateItem(olMailItem)Set myattachements = omail.AttachmentsSet oNeueNachricht = omail With oNeueNachricht .Body = textomail.DisplayEnd With exit_:Exit Functionerr_: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.
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
Es sind keine Kommentare vorhanden.