Die noch nicht allzu alten Richtext-Features von Access (ab Version 2007) bieten eine tolle Möglichkeit, Texte zu formatieren und diese auch in dieser Form etwa in Berichten auszugeben. Noch interessanter wird es, wenn man E-Mails ebenfalls mit Formatierungen ausstattet und beides zusammenführen möchte – sprich: Die Texte von E-Mails mit den Richtext-Möglichkeiten von Access formatieren und dann als Inhalt einer neuen E-Mail unter Outlook einfügen. Dieser Beitrag liefert die Grundlagen zu diesem Thema.
In einem einfachen Beispiel wollen wir zunächst die drei Informationen Empfänger, Betreff und Inhalt für eine E-Mail in einem Formular erfassen.
Das Formular heißt frmRichtextInMailExportieren und sieht wie in Bild 1 aus.

Bild 1: Formular zur Eingabe der E-Mail-Inhalte
Es enthält die drei Textfelder txtAn, txtBetreff und txtInhalt. Der Einfachheit halber haben wir es nicht an eine Tabelle gebunden, sondern füllen es bei Bedarf per Schaltfläche mit ein paar Beispieldaten.
Diese Schaltfläche heißt cmdBeispieltext und ruft die Prozedur aus Listing 1 auf. Die Tabelle tblRichtext, aus der die Prozedur per DLookup-Funktion den Richtext bezieht, stammt aus einem Beispiel zu einem vorherigen Beitrag zu diesem Thema namens Richtext ab Access 2007 (www.access-im-unternehmen.de/927).
Private Sub cmdBeispieltext_Click() Me!txtAn = "test@mustermann.de" Me!txtBetreff = "Dies ist eine Textmail mit Richtext-Inhalt." Me!txtInhalt = DLookup("Richtext", "tblRichtext", "RichtextID = 3") End Sub
Listing 1: Füllen der Textfelder des Formulars frmRichtextInMailExportieren mit Beispieldaten
Outlook-Verweis erstellen
Da abzusehen ist, dass wir gleich per VBA auf Outlook zugreifen und dort per Code eine Mail erstellen und füllen werden, bereiten wir schon einmal den für den einfachen Zugriff nötigen Verweis auf die Bibliothek Microsoft Outlook x.0 Object Library vor (für x bitte die Version Ihrer Outlook-Bibliothek einsetzen). Den Verweis fügen Sie im VBA-Editor über den Verweise-Dialog hinzu, den Sie mit dem Menübefehl Extras|Verweise aufrufen – s. Bild 2.

Bild 2: Verweis auf die Outlook-Objektbibliothek
Mail manuell füllen
Zuvor schauen wir uns allerdings noch an, was geschieht, wenn wir den Inhalt des Textfeldes txtInhalt manuell kopieren und in eine neu erstellte E-Mail einfügen. Wir arbeiten in diesem Fall übrigens mit Access 2010 und Outlook 2010. Das Resultat enttäuscht: Es wurden überhaupt keine Formatierungen übernommen! Wenn die eingefügte E-Mail bei Ihnen wie bei uns in Bild 3 aussieht, dann haben Sie den gleichen Fehler gemacht wie wir: Das E-Mail-Format ist noch auf Nur-Text eingestellt. Aber das ist kein Problem: Wir ändern den entsprechenden Eintrag in den Optionen von Outlook einfach mit der Einstellung aus Bild 4. Die Frage ist nur: Welche der beiden Einstellungen HTML oder Rich-Text ist für unseren Fall die richtige Uns bleibt nichts anderes übrig, als beide Versionen auszuprobieren. Beginnen wir mit der Einstellung HTML. Nach dem Anlegen einer neuen E-Mail unter dieser Einstellung sieht es schon besser aus. Immerhin werden die meisten Formatierungen übernommen (s. Bild 5).

Bild 3: Erster Versuch: Einfügen per Copy & Paste – gescheitert, da die Mail im Textformat erstellt wurde

Bild 4: Einstellung des E-Mail-Formats in den Optionen von Outlook 2010

Bild 5: E-Mail mit der Einstellung HTML
Einziger Wermutstropfen: Outlook übernimmt nicht die im Access-Formular verwendete Schriftart Calibri, sondern zeigt den Inhalt mit Times New Roman an. Das ist aber auch kein Wunder, denn wenn wir uns den HTML-Code für den Richtext mit einer weiteren Schaltfläche des Formulars in einem Meldungsfenster ausgeben lassen, stellen wir fest, dass dort auch nirgends eine Schriftart für die Ausgabe festgelegt wurde. Access verwendet im Textfeld schlicht die Schriftart, die als Eigenschaft für dieses Steuerelement festgelegt wurde (s. Bild 6).

Bild 6: HTML-Text des Textfeld-Inhalts
Interessanterweise ist in der jungfräulichen E-Mail auch die Schriftart Calibri voreingestellt. Aus irgendeinem Grund wird der Text dort aber nach dem Einfügen mit der Schriftart Times New Roman versehen.
Bevor wir Ursachenforschung betreiben, schauen wir uns erst noch an, was das Format Rich-Text für E-Mails in unserem Fall bietet. Doch das Ergebnis bleibt das gleiche: Die Formatierungen bleiben weitgehend erhalten, doch als Schriftart wird nicht, wie erwünscht und erwartet, Calibri verwendet.
Als letzte Möglichkeit bleibt, die verschiedenen Einfügeoptionen auszuprobieren, die Outlook beim Klick auf die rechte Maustaste anbietet (s. Bild 7).

Bild 7: Verschiedene Einfüge-Optionen
Die Option Ursprüngliche Formatierung beibehalten liefert das bereits bekannte Ergebnis. Formatierung zusammenführen ergibt die gewünschte Schriftart, dafür bleiben nur ein paar der übrigen Formatierungen erhalten. Nur den Text zu übernehmen funktioniert erwartungsgemäß und liefert den reinen Text. Zwar in Calibri, aber ohne jegliche weitere Formatierung.
Nur für Abonnenten
Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.
Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.
So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.
Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.
Bereits Abonnent? Hier einloggen
Kostenlos & unverbindlich
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →