Outlook-E-Mails mit Richtext füttern

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Outlook-E-Mails mit Richtext füttern

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.

Formular zur Eingabe der E-Mail-Inhalte

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.

Verweis auf die Outlook-Objektbibliothek

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).

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

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

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

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

E-Mail mit der Einstellung HTML

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).

HTML-Text des Textfeld-Inhalts

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.

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]