{"id":55000205,"date":"2013-12-01T00:00:00","date_gmt":"2020-01-24T15:58:54","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=205"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"EMails_sicher_versenden","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html","title":{"rendered":"E-Mails sicher versenden"},"content":{"rendered":"<p class='introduction'>Wenn Sie eine E-Mail &uuml;ber Outlook mit VBA versenden, k&ouml;nnen Sie dies auf zwei Arten erledigen &#8211; durch direktes Versenden oder durch Anzeigen der Mail und anschlie&szlig;endes Anklicken der Senden-Schaltfl&auml;che. In beiden F&auml;llen gibt es keine von VBA auswertbare Eigenschaft, die Informationen &uuml;ber den Versandstatus der E-Mail liefert. Und wenn Sie die per VBA gef&uuml;llte E-Mail vor dem Versand noch zur Kontrolle anzeigen, kann der Benutzer noch &auml;nderungen am Inhalt vornehmen, die nicht in der Datenbank gespeichert werden. Dieser Artikel zeigt, wie Sie sich den Versand best&auml;tigen lassen und gleichzeitig den versendeten Inhalt erfassen k&ouml;nnen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1306_MailSicherVersenden.mdb<\/b>.<\/p>\n<h2>Voraussetzungen<\/h2>\n<p>Die hier vorgestellten Techniken funktionieren nur mit neueren Outlook-Versionen (ab Outlook 2007).<\/p>\n<h2>Ausgangssituation<\/h2>\n<p>Im Artikel <b>Berichte per E-Mail versenden <\/b>aus Ausgabe 5\/2013 haben Sie erfahren, wie Sie Outlook-Mails per VBA erstellen und anzeigen, bevor Sie diese verschicken (siehe Bild 1). <\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_205_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_205_001.png\" alt=\"Erstellen einer E-Mail per VBA und Anzeige in der Outlook-Vorschau\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Erstellen einer E-Mail per VBA und Anzeige in der Outlook-Vorschau<\/p>\n<p>Betreff und Inhalt der E-Mail sowie weitere Eigenschaften wurden bereits in einem Access-Formular eingegeben, die Anzeige der Outlook-Mail vor dem Versenden soll lediglich der Kontrolle dienen.<\/p>\n<p>Es sind jedoch auch noch andere Szenarien denkbar: Beispielsweise k&ouml;nnten Sie aus einem Kundenformular heraus eine E-Mail an den aktuell angezeigten Kunden erstellen. Sie w&uuml;rden dann direkt die E-Mail mit Outlook anzeigen und nicht erst ein Access-Formular erstellen, dass prinzipiell die gleichen Felder wie Outlook anzeigt. Der Benutzer tr&auml;gt dann Betreff und Inhalt der E-Mail ein und versendet diese.<\/p>\n<p>Im Gegensatz zur vorherigen Variante, wo wir die E-Mail bereits in einem Access-Formular erstellt und dabei gleichzeitig die Inhalt in der an das Formular gebundenen Tabelle gespeichert haben, werden Betreff, Inhalt et cetera nun nicht in der Datenbank gespeichert.<\/p>\n<p>Aber auch bei der Variante, bei der die Mail im Formular erstellt und in der Tabelle gespeichert wird, kann der Benutzer ja noch &auml;nderungen an der E-Mail vornehmen, wenn diese vor dem Versenden noch in Outlook angezeigt wird. Das hei&szlig;t, dass die Tabelle mit den E-Mails unter Umst&auml;nden gar nicht den tats&auml;chlich gesendeten Inhalt enth&auml;lt.<\/p>\n<p>Es w&auml;re also f&uuml;r beide F&auml;lle interessant, vor dem Versenden der E-Mail &uuml;ber die <b>Senden<\/b>-Schaltfl&auml;che der E-Mail in Outlook noch einmal den Inhalt einzulesen und in die Datenbank zu &uuml;bertragen.<\/p>\n<p>Wie aber k&ouml;nnen wir dies bewerkstelligen Hilfe bietet das Objektmodell von Outlook ab der Version 2007. Genau wie die Access-Objekte wie Formulare, Steuerelemente oder Berichte bieten auch die Outlook-Objekte Ereignisse an, f&uuml;r die Sie Ereignisprozeduren implementieren k&ouml;nnen. Diese werden durch Ereignisse wie <b>Open<\/b>, <b>Send <\/b>et cetera ausgel&ouml;st. Eine &uuml;bersicht etwa aller Ereignisse des <b>MailItem<\/b>-Objekts liefert der Objektkatalog, den Sie mit <b>F2 <\/b>einblenden.<\/p>\n<p>Dort w&auml;hlen Sie die Bibliothek <b>Outlook <\/b>aus und selektieren in der Liste links das zu untersuchende Objekt. Auf der rechten Seite finden Sie dann alle Eigenschaften, Methoden und Ereignisse des jeweiligen Objekts (siehe Bild 2). Wenn Sie dort im Kontextmen&uuml; den Eintrag <b>Elemente gruppieren <\/b>aktivieren, gruppiert der Dialog die Eintr&auml;ge nach Eigenschaften, Methoden und Ereignissen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_205_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_205_002.png\" alt=\"Ereignisse des MailItem-Objekts in Outlook\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Ereignisse des MailItem-Objekts in Outlook<\/p>\n<h2>Ereignis beim Senden einer E-Mail<\/h2>\n<p>Wenn wir, wie oben beschrieben, eine E-Mail vor dem Senden noch auslesen und Informationen wie den Betreff oder den Inhalt in einer Tabelle der Datenbank speichern m&ouml;chten, m&uuml;ssen wir das Ereignis <b>Send <\/b>des <b>MailItem<\/b>-Objekts implementieren.<\/p>\n<p>Die Beispiele zu den folgenden Abschnitten finden Sie &uuml;brigens im Formular <b>frmMail <\/b>und im dazugeh&ouml;rigen Klassenmodul <b>Form_frmMail<\/b>.<\/p>\n<p>Grundlagen zum Implementieren von Ereignissen aus anderen Objekten wie Formularen, Steuerelementen oder auch externen Objekten wie hier von Outlook finden Sie im Artikel <b>Ereignisse abgreifen <\/b>in dieser Ausgabe von <b>Access [basics]<\/b>.<\/p>\n<p>Wir m&ouml;chten das <b>Send<\/b>-Ereignis dazu nutzen, die gegebenenfalls vom Nutzer in der Outlook-Mail ge&auml;nderten Daten wie den Betreff oder den Inhalt in die entsprechenden Textfelder des Formulars zu &uuml;bertragen, in dem die Mailinhalte urspr&uuml;nglich zusammengestellt wurden.<\/p>\n<p>Dazu deklarieren Sie im Klassenmodul des Formulars zun&auml;chst eine Objektvariable f&uuml;r das Objekt, dessen Ereignisse wir implementieren m&ouml;chten &#8211; also im Klassenmodul <b>Form_frmMail<\/b>.<\/p>\n<p>Die Deklaration sieht wie folgt aus:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents objMail<span style=\"color:blue;\"> As <\/span>Outlook.MailItem<\/pre>\n<p>Wichtig ist hier das Schl&uuml;sselwort <b>With-Events<\/b>. Dieses gibt an, dass im aktuelllen Klassenmodul Ereignisprozeduren f&uuml;r das mit dieser Variablen referenzierte Objekt vorhanden sein k&ouml;nnten.<\/p>\n<p>Da wir die Deklaration nun im Kopf des Klassenmoduls untergebracht haben, m&uuml;ssen wir die entsprechende Zeile aus der Prozedur <b>cmdMailSenden_Click <\/b>entfernen (siehe Listing 1). Anderenfalls deklariert und instanziert die Prozedur ihre eigene Objektvariable mit Verweis auf die E-Mail und verwendet diese auch.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdMailSenden_Click()\r\n     <span style=\"color:blue;\">Dim <\/span>objOutlook<span style=\"color:blue;\"> As <\/span>Outlook.Application\r\n     'n&auml;chste Zeile auskommentieren\r\n     'Dim objMail<span style=\"color:blue;\"> As <\/span>Outlook.MailItem\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"> As Integer<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strAnhaenge()<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> objOutlook = <span style=\"color:blue;\">New<\/span> Outlook.Application\r\n     <span style=\"color:blue;\">Set<\/span> objMail = objOutlook.CreateItem(olMailItem)\r\n     <span style=\"color:blue;\">With<\/span> objMail\r\n         '...\r\n         .Display\r\n         '.Send\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: Mail f&uuml;llen und vor dem Versenden anzeigen<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000205\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000205?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000205\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie eine E-Mail &uuml;ber Outlook mit VBA versenden, k&ouml;nnen Sie dies auf zwei Arten erledigen &#8211; durch direktes Versenden oder durch Anzeigen der Mail und anschlie&szlig;endes Anklicken der Senden-Schaltfl&auml;che. In beiden F&auml;llen gibt es keine von VBA auswertbare Eigenschaft, die Informationen &uuml;ber den Versandstatus der E-Mail liefert. Und wenn Sie die per VBA gef&uuml;llte E-Mail vor dem Versand noch zur Kontrolle anzeigen, kann der Benutzer noch &auml;nderungen am Inhalt vornehmen, die nicht in der Datenbank gespeichert werden. Dieser Artikel zeigt, wie Sie sich den Versand best&auml;tigen lassen und gleichzeitig den versendeten Inhalt erfassen k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662013,66062013,44000015],"tags":[],"class_list":["post-55000205","post","type-post","status-publish","format-standard","hentry","category-662013","category-66062013","category-Interaktiv"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>E-Mails sicher versenden - Access [basics]<\/title>\n<meta name=\"description\" content=\"Wenn Sie eine E-Mail \u00fcber Outlook mit VBA versenden, k\u00f6nnen Sie dies auf zwei Arten erledigen \u2013 durch direktes Versenden oder durch Anzeigen der Mail und anschlie\u00dfendes Anklicken der Senden-Schaltfl\u00e4che. In beiden F\u00e4llen gibt es keine von VBA auswertbare Eigenschaft, die Informationen \u00fcber den Versandstatus der E-Mail liefert. Und wenn Sie die per VBA gef\u00fcllte E-Mail vor dem Versand noch zur Kontrolle anzeigen, kann der Benutzer noch \u00c4nderungen am Inhalt vornehmen, die nicht in der Datenbank gespeichert werden. Dieser Artikel zeigt, wie Sie sich den Versand best\u00e4tigen lassen und gleichzeitig den versendeten Inhalt erfassen k\u00f6nnen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"E-Mails sicher versenden - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie eine E-Mail \u00fcber Outlook mit VBA versenden, k\u00f6nnen Sie dies auf zwei Arten erledigen \u2013 durch direktes Versenden oder durch Anzeigen der Mail und anschlie\u00dfendes Anklicken der Senden-Schaltfl\u00e4che. In beiden F\u00e4llen gibt es keine von VBA auswertbare Eigenschaft, die Informationen \u00fcber den Versandstatus der E-Mail liefert. Und wenn Sie die per VBA gef\u00fcllte E-Mail vor dem Versand noch zur Kontrolle anzeigen, kann der Benutzer noch \u00c4nderungen am Inhalt vornehmen, die nicht in der Datenbank gespeichert werden. Dieser Artikel zeigt, wie Sie sich den Versand best\u00e4tigen lassen und gleichzeitig den versendeten Inhalt erfassen k\u00f6nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_205_001.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"10\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_205_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html\",\"name\":\"E-Mails sicher versenden - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:58:54+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Wenn Sie eine E-Mail \\u00fcber Outlook mit VBA versenden, k\\u00f6nnen Sie dies auf zwei Arten erledigen \\u2013 durch direktes Versenden oder durch Anzeigen der Mail und anschlie\\u00dfendes Anklicken der Senden-Schaltfl\\u00e4che. In beiden F\\u00e4llen gibt es keine von VBA auswertbare Eigenschaft, die Informationen \\u00fcber den Versandstatus der E-Mail liefert. Und wenn Sie die per VBA gef\\u00fcllte E-Mail vor dem Versand noch zur Kontrolle anzeigen, kann der Benutzer noch \\u00c4nderungen am Inhalt vornehmen, die nicht in der Datenbank gespeichert werden. Dieser Artikel zeigt, wie Sie sich den Versand best\\u00e4tigen lassen und gleichzeitig den versendeten Inhalt erfassen k\\u00f6nnen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/EMails_sicher_versenden.html\",\"name\":\"E-Mails sicher versenden\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000205"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000205\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}