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.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo