{"id":55000442,"date":"2024-10-01T00:00:00","date_gmt":"2024-11-05T20:00:49","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=442"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Outlook_EMails_erneut_senden","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Outlook_EMails_erneut_senden\/","title":{"rendered":"Outlook: E-Mails erneut senden"},"content":{"rendered":"<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_001.png\" alt=\"Eine zum Weiterleiten vorbereitete E-Mail\" width=\"649,627\" height=\"494,1534\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Eine zum Weiterleiten vorbereitete E-Mail<\/span><\/b><\/p>\n<p><b>Manchmal kommen E-Mails in Postf&auml;chern an, wo man diese nicht optimal weiterverarbeiten kann. Ein Beispiel sind E-Mails von Kunden, die Fragen zur Buchhaltung haben, aber ihre E-Mails an die allgemeine info@-Adresse geschickt haben. Dann k&ouml;nnen wir diese E-Mail zwar an die Buchhaltungs-Adresse weiterleiten, aber wenn die Buchhaltung dann auf diese E-Mail antworten soll, enth&auml;lt diese bereits die beim Weiterleiten automatisch eingef&uuml;gten Elemente &#8211; das wirkt auf den Kunden nicht besonders professionell. Oder wir haben eine der vielen &#8220;Software As A Service&#8221;-Anwendung, die ein eigenes Postfach haben, &uuml;ber das wir Informationen direkt dorthin schicken k&ouml;nnen. Ein Beispiel ist die Projektverwaltung Trello, der man E-Mails an eine spezielle E-Mail-Adresse zusenden kann, die dann dort automatisch als Aufgaben angelegt werden. In diesem Artikel zeigen wir, wie wir mit wenigen Anweisungen eine Kopie dieser E-Mail an eine weitere Adresse schicken k&ouml;nnen. Das erledigen wir zun&auml;chst durch den Aufruf einer VBA-Prozedur. Anschlie&szlig;end schauen wir uns an, wie wir das auch &uuml;ber die Benutzeroberfl&auml;che erledigen k&ouml;nnen.<\/b><\/p>\n<p>Es gibt verschiedene Gr&uuml;nde, warum man eine E-Mail nicht an eine andere Adresse weiterleiten sollte, sondern diese so dorthin schicken m&ouml;chte, dass man nicht erkennt, dass es sich um eine Weiterleitung handelt. Wenn wir n&auml;mlich die Weiterleiten-Schaltfl&auml;che f&uuml;r eine E-Mail bet&auml;tigen, sehen wir nicht nur das K&uuml;rzel <b>WG:<\/b> im Betreff, sondern finden auch noch die Kopfdaten der urspr&uuml;nglichen E-Mail &uuml;ber dem eigentlichen Inhalt der E-Mail (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_001.png\" alt=\"Eine zum Weiterleiten vorbereitete E-Mail\" width=\"649,627\" height=\"494,1534\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Eine zum Weiterleiten vorbereitete E-Mail<\/span><\/b><\/p>\n<p>Wenn man selbst nicht der eigentliche Empf&auml;nger einer E-Mail ist und diese so an diesen weiterleiten m&ouml;chte, dass er diese im Originalzustand erh&auml;lt (abgesehen von der Empf&auml;ngeradresse nat&uuml;rlich), gibt es in Outlook nur einen einzigen weg, der au&szlig;erdem nicht durch einen entsprechenden VBA-Befehl abbildbar ist.<\/p>\n<p>Um diesen Befehl aufzurufen, m&uuml;ssen wir die erneut zu sendende E-Mail zun&auml;chst in einem eigenen Inspektor-Fenster &ouml;ffnen, beispielsweise per Doppelklick auf die E-Mail. Danach finden wir im Ribbon unter <b>Nachricht|Verschieben|Weitere Verschiebeaktionen|Diese Nachricht erneut senden&#8230; <\/b>den entsprechenden Befehl (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_002.png\" alt=\"Erneutes Senden einer E-Mail\" width=\"700\" height=\"296,7999\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Erneutes Senden einer E-Mail<\/span><\/b><\/p>\n<p>Dies &ouml;ffnet die E-Mail so, als ob wir diese gerade erstellt und mit Inhalt gef&uuml;llt haben und erlaubt es uns, den Empf&auml;nger anzupassen und die E-Mail erneut zu senden.<\/p>\n<h2>Funktionalit&auml;t (fast) nachbauen<\/h2>\n<p>Es gibt zwar eine 1:1-Entsprechung zu dem Ribbonbefehl <b>Diese Nachricht erneut senden&#8230;<\/b> &#8211; allerdings k&ouml;nnen wir diesen Befehl auch nur aufrufen, wenn die erneut zu sendende E-Mail gerade ge&ouml;ffnet ist, also so, also ob wir die E-Mail gerade manuell erneut versenden wollen. Wenn wir die E-Mail einfach nur im Outlook-Hauptfenster markieren, finden wir den Befehl <b>Diese Nachricht erneut senden&#8230; <\/b>nirgends im Ribbon.<\/p>\n<p>Wir k&ouml;nnen auch in den Outlook-Optionen f&uuml;r das Ribbon des E-Mail-Inspektorfensters suchen und finden dort beim &Uuml;berfahren mit der Maus den Namen des <b>idMso<\/b>-Elements des Ribbons f&uuml;r diese Schaltfl&auml;che (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_003.png\" alt=\"Ermitteln der idMso des Ribbonbefehls Diese Nachricht erneut senden\" width=\"700\" height=\"272,9999\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Ermitteln der idMso des Ribbonbefehls Diese Nachricht erneut senden<\/span><\/b><\/p>\n<p>Allerdings funktioniert der Aufruf wie folgt nicht:<\/p>\n<pre>Application.CommandBars.ExecuteMso \"ResendThisMessage\"<\/pre>\n<p>Wir m&uuml;ssen uns also zwangsl&auml;ufig einer anderen Methode behelfen.<\/p>\n<h2>Mail erneut senden per Kopieren und Senden<\/h2>\n<p>Die L&ouml;sung ist so einfach wie elegant und erfordert nur wenige Zeilen Code. Die folgende Prozedur f&uuml;gen wir einfach im Modul <b>ThisOutlookSession <\/b>ein. Die ersten drei Zeilen deklarieren die ben&ouml;tigten Variablen. Die erste das Outlook-<b>Application<\/b>-Objekt, das die Outlook-Anwendung repr&auml;sentiert, die beiden &uuml;brigen jeweils ein <b>MailItem<\/b>-Objekt &#8211; die erste f&uuml;r die erneut zu versendende E-Mail, die zweite f&uuml;r eine Kopie dieser Mail, die wir schlie&szlig;lich an den gew&uuml;nschten Empf&auml;nger senden k&ouml;nnen:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>SendAgain()\r\n     <span style=\"color:blue;\">Dim <\/span>objOutlook<span style=\"color:blue;\"> As <\/span>Outlook.Application\r\n     <span style=\"color:blue;\">Dim <\/span>objMailItem<span style=\"color:blue;\"> As <\/span>Outlook.MailItem\r\n     <span style=\"color:blue;\">Dim <\/span>objMailItemNew<span style=\"color:blue;\"> As <\/span>Outlook.MailItem<\/pre>\n<p>Danach weisen wir <b>objOutlook <\/b>einen Verweis auf ein neues Outlook-<b>Application<\/b>-Objekt zu. Wir k&ouml;nnten im Kontext des Outlook-VBA-Projekts auch einfach mit Application arbeiten, aber damit wir den Code auch in andere Anwendungen &uuml;bernehmen k&ouml;nnen, legen wir daf&uuml;r direkt eine Variable an. Der Verweis auf <b>New Outlook.Application <\/b>holt entweder die bereits gestartete Instanz oder erstellt eine neue:<\/p>\n<pre>     <span style=\"color:blue;\">Set<\/span> objOutlook = <span style=\"color:blue;\">New<\/span> Outlook.Application<\/pre>\n<p>Wenn Du diese Prozedur innerhalb von Outlook nutzt, verwende diese Anweisung:<\/p>\n<pre>    <span style=\"color:blue;\">Set<\/span> objOutlook = Application<\/pre>\n<p>Dann referenzieren wir das erste Element der <b>Selection<\/b>-Auflistung von <b>ActiveExplorer<\/b> und referenzieren es mit <b>objMailItem<\/b>. Sollte aktuell mehr als ein Element markiert sein, wird das erste Element zur&uuml;ckgeliefert:<\/p>\n<pre>     <span style=\"color:blue;\">Set<\/span> objMailItem = _\r\n         objOutlook.ActiveExplorer.Selection(1)<\/pre>\n<p>Dieses Element kopieren wir nun mit der <b>Copy<\/b>-Methode und referenzieren die Kopie mit <b>objMailItemNew<\/b>:<\/p>\n<pre>     <span style=\"color:blue;\">Set<\/span> objMailItem<span style=\"color:blue;\">New<\/span> = objMailItem.Copy<\/pre>\n<p>Schlie&szlig;lich stellen wir den Empf&auml;nger mit der Eigenschaft <b>To <\/b>auf die gew&uuml;nschte Zieladresse ein und verwenden die E-Mail mit der <b>Send<\/b>-Methode:<\/p>\n<pre>     <span style=\"color:blue;\">With<\/span> objMailItem<span style=\"color:blue;\">New<\/span>\r\n         .To = \"info@amvshop.de\"\r\n         .Send\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das war es schon &#8211; die aktuell markierte E-Mail wird nun an den angegebenen Adressaten geschickt.<\/p>\n<h2>Funktion zum erneuten Versenden einfach aufrufen<\/h2>\n<p>Aktuell m&uuml;ssen wir die erneut zu versendende E-Mail noch markieren und dann im VBA-Editor die Funktion <b>SendAgain <\/b>aufrufen. Das ist schon f&uuml;r uns als Entwickler umst&auml;ndlich und einem einfachen Benutzer sollten wir eine solche Vorgehensweise gar nicht erst zumuten.<\/p>\n<p>Wir haben zwei Ideen, wie wir dies vereinfachen k&ouml;nnen:<\/p>\n<ul>\n<li>Wir f&uuml;gen dem Ribbon eine Schaltfl&auml;che hinzu, mit der wir die Prozedur &uuml;ber die Benutzeroberfl&auml;che aufrufen k&ouml;nnen. Der Nachteil ist, dass wir die E-Mail-Adresse zum Versenden fest im Code verdrahtet haben. Das ist kein Problem, solange wir solche E-Mails immer an den gleichen Empf&auml;nger verschicken wollen.<\/li>\n<li>Sobald wir mehr als eine Zieladresse haben, die aber in der Regel gleich bleiben, k&ouml;nnen wir eine zweite L&ouml;sung ausprobieren: Hier legen wir f&uuml;r jedes alternative Ziel zum erneuten Versenden einen eigenen Ordner an. Diesem Ordner f&uuml;gen wir ein Ereignis hinzu, das beim Hinzuf&uuml;gen eines Elements ausgel&ouml;st wird. Sobald wir dem Ordner eine E-Mail zuweisen, soll diese kopiert und an die dem Ordner entsprechende Adresse geschickt werden.<\/li>\n<\/ul>\n<h2>E-Mail schnell per Schaltfl&auml;che erneut versenden<\/h2>\n<p>F&uuml;r die erste Variante reicht es, wenn wir dem Ribbon &uuml;ber die Benutzeroberfl&auml;che einen neuen Button hinzuf&uuml;gen. Wir m&uuml;ssen nur noch entscheiden, wo wir diese Schaltfl&auml;che platzieren wollen. Wenn wir die erneut zu versendende E-Mail in der Liste der E-Mails markieren, wird kein besonderes Ribbon-Tab aktiviert. Da meist das Tab mit der Beschriftung <b>Start <\/b>angezeigt wird, wollen wir unsere Schaltfl&auml;che hier hinzuf&uuml;gen. Ein Makel bei der Ribbonprogrammierung ist, dass wir die eingebauten <b>Group<\/b>-Elemente nicht einfach erweitern oder anpassen k&ouml;nnen. Das hei&szlig;t, dass wir entweder eine eingebaute Gruppe ausblenden und diese nachbauen &#8211; samt den von uns hinzugef&uuml;gten Elementen. Oder wir f&uuml;gen einfach eine eigene Gruppe f&uuml;r unseren Button hinzu.<\/p>\n<h2>Neuen Button zum Ribbon hinzuf&uuml;gen<\/h2>\n<p>Um dies zu erledigen, klicken wir oben im Ribbon auf die Schaltfl&auml;che mit dem Pfeil nach unten und w&auml;hlen dort den Eintrag <b>Weitere Befehle &#8230; <\/b>aus (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_004.png\" alt=\"Anzeigen des Editors f&uuml;r das Ribbon\" width=\"499,6267\" height=\"532,057\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Anzeigen des Editors f&uuml;r das Ribbon<\/span><\/b><\/p>\n<p>Im nun erscheinenden Dialog <b>Outlook-Optionen <\/b>klicken wir links auf <b>Men&uuml;band anpassen<\/b>. Dann &ouml;ffnen wir auf der rechten Seite unter <b>Hauptregisterkarten <\/b>den Eintrag <b>Start (E-Mail)<\/b>, sofern dieser noch nicht ausgeklappt ist. Hier klicken wir den Eintrag an, unter dem wir die neue Gruppe einf&uuml;gen wollen, in diesem Fall <b>Neu<\/b>. Dann bet&auml;tigen wir unten die Schaltfl&auml;che <b>Neue Gruppe <\/b>und f&uuml;gen so die in Bild 5 gezeigte Gruppe hinzu.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_005.png\" alt=\"Hinzuf&uuml;gen einer neuen Gruppe zum Ribbon-Tab Start\" width=\"700\" height=\"481,3388\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Hinzuf&uuml;gen einer neuen Gruppe zum Ribbon-Tab Start<\/span><\/b><\/p>\n<p>Diese Gruppe k&ouml;nnen wir nun nach Wunsch umbenennen, beispielsweise <b>Weitere Verarbeitung<\/b>. Dann w&auml;hlen wir in der Auswahlliste &uuml;ber der linken Liste den Eintrag <b>Makros <\/b>aus und selektieren dort den Eintrag <b>Projekt1.ThisOutlookSession.SendAgain<\/b>.<\/p>\n<p>Durch Anklicken der Schaltfl&auml;che <b>Hinzuf&uuml;gen >> <\/b>f&uuml;gen wir die Schaltfl&auml;che nun zu der neu angelegten und markierten Gruppe hinzu.<\/p>\n<p>Dann klicken wir diesen Befehl an und bet&auml;tigen die <b>Umbenennen&#8230;<\/b>-Schaltfl&auml;che ein weiteres Mal. Dies &ouml;ffnet einen Dialog, der nicht nur die M&ouml;glichkeit zum Umbenennen der Schaltfl&auml;che anbietet, sondern mit dem wir auch noch ein Icon f&uuml;r die Schaltfl&auml;che ausw&auml;hlen k&ouml;nnen. Die Auswahl ist recht sp&auml;rlich, dennoch finden wir mit dem eingekreisten Pfeil nach rechts ein passendes Symbol (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_006.png\" alt=\"Hinzuf&uuml;gen und Anpassen der Schaltfl&auml;che zum Aufrufen des Makros\" width=\"700\" height=\"481,3388\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Hinzuf&uuml;gen und Anpassen der Schaltfl&auml;che zum Aufrufen des Makros<\/span><\/b><\/p>\n<p>Danach schlie&szlig;en wir den Dialog mit der <b>OK<\/b>-Schaltfl&auml;che und probieren die neue Schaltfl&auml;che aus, die wir wie in Bild 7 vorfinden.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_007.png\" alt=\"Die neue Schaltfl&auml;che im Start-Tab des Ribbons\" width=\"424,6267\" height=\"165,641\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Die neue Schaltfl&auml;che im Start-Tab des Ribbons<\/span><\/b><\/p>\n<p>Klicken wir diese Schaltfl&auml;che an, w&auml;hrend eine E-Mail markiert ist, wird diese durch die Prozedur kopiert und an die angegebene Adresse gesendet. Wir k&ouml;nnen hier gegebenenfalls noch eine Meldung ausgeben, das die E-Mail erfolgreich neu versendet wurde.<\/p>\n<p>In wenigen F&auml;llen kann es hierbei n&auml;mlich zu einem Fehler kommen, der allerdings nicht angezeigt wird. Wenn wir beispielsweise gerade einen leeren Outlook-Ordner anzeigen, der keine E-Mails enth&auml;lt, l&ouml;st der Versuch, auf die erste markierte E-Mail zuzugreifen, einen Fehler aus. Das gleiche geschieht, wenn es sich bei dem Eintrag nicht um eine E-Mail, sondern beispielsweise einen Terminvorschlag handelt. Dazu erweitern wir die Prozedur wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>SendAgain()\r\n     ...\r\n     On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n     ...\r\n     <span style=\"color:blue;\">If <\/span>Err.Number = 0<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Erfolgreich neu versendet.\"\r\n     <span style=\"color:blue;\">Else<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Fehler beim Versenden.\" & <span style=\"color:blue;\">vbCrLf<\/span> _\r\n             & Err.Description\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>E-Mails durch Ziehen in einen Ordner erneut versenden<\/h2>\n<p>Wenn wir eine Methode ben&ouml;tigen, mit der wir die gew&uuml;nschte E-Mail an verschiedene, zuvor festgelegte E-Mail-Adressen versenden k&ouml;nnen, dann gehen wir wie folgt vor:<\/p>\n<ul>\n<li>Wir legen f&uuml;r jede Ziel-E-Mail-Adresse einen eigenen Ordner in Outlook an.<\/li>\n<li>F&uuml;r jeden dieser Ordner legen wir eine Ereignisprozedur fest, die ausgel&ouml;st wird, wenn der Benutzer dem Ordner eine E-Mail hinzuf&uuml;gt.<\/li>\n<li>Wenn dies geschieht, soll die Ereignisprozedur daf&uuml;r sorgen, dass die E-Mail mit der bereits beschriebenen Methode an die zu diesem Ordner geh&ouml;rende E-Mail-Adresse geschickt wird.<\/li>\n<\/ul>\n<p>Wir beginnen mit den Ordnern, in diesem Fall drei St&uuml;ck. Wir f&uuml;gen diese einem Unterordner namens <b>Weiterleiten an&#8230; <\/b>hinzu. Dazu nutzen wir jeweils den Kontextmen&uuml;befehl <b>Neuer Ordner&#8230; <\/b>aus Bild 8. Die Ordner hei&szlig;en in diesem Fall <b>Buchhaltung<\/b>, <b>Entwicklung <\/b>und <b>Info<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_008.png\" alt=\"Anlegen der Zielordner\" width=\"499,6267\" height=\"385,6117\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Anlegen der Zielordner<\/span><\/b><\/p>\n<p>Wenn wir eine E-Mail in einen dieser Ordner ziehen, soll diese nun automatisch erneut an eine bestimmte E-Mail-Adresse versendet werden. Allerdings haben wir bisher noch nicht festgelegt, wie diese E-Mail-Adresse f&uuml;r die einzelnen Ordner lautet. Wir k&ouml;nnten diese zwar auch als Ordnername angeben, aber wenn wir beispielsweise E-Mails als Aufgaben an eine Anwendung wie Trello schicken wollen, finden wir f&uuml;r jedes Zielboard eine recht kryptische Adresse vor.<\/p>\n<p>Aus diesen k&ouml;nnen wir nicht entnehmen, in welches Board wir die E-Mails dann senden.<\/p>\n<p>Also legen wir als Ordnernamen eine sprechende Bezeichnung fest und m&uuml;ssen die E-Mail-Adresse f&uuml;r den Ordner an einer anderen Stelle unterbringen, die wir sp&auml;ter per VBA abrufen k&ouml;nnen.  Dazu nutzen wir den Eigenschaftsdialog des jeweiligen Ordners, in dem wir die E-Mail-Adresse f&uuml;r die Eigenschaft <b>Beschreibung<\/b> hinterlegen (siehe Bild 9).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_05\/pic_442_009.png\" alt=\"Festlegen der Ziel-E-Mail f&uuml;r einen Ordner\" width=\"499,6267\" height=\"502,7825\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Festlegen der Ziel-E-Mail f&uuml;r einen Ordner<\/span><\/b><\/p>\n<h2>Code zum automatischen Versenden von E-Mails beim Einf&uuml;gen in einen Ordner<\/h2>\n<p>F&uuml;r die drei Ordner legen wir nun drei Objektvariablen fest, mit denen wir jeweils die <b>Items<\/b>-Auflistung dieser Ordner referenzieren wollen. Um es vorwegzunehmen: Das <b>Folder<\/b>-Objekt selbst liefert keine Methode, die beim Einf&uuml;gen eines Elements ausgel&ouml;st wird. Allerdings hat jedes <b>Folder<\/b>-Objekt eine <b>Items<\/b>-Auflistung, die wiederum ein Ereignis namens <b>ItemAdd <\/b>liefert, das zu dem von uns ben&ouml;tigten Zeitraum feuert. Die Objektvariablen sehen wir folgt aus:<\/p>\n<pre><span style=\"color:blue;\">Public <\/span>WithEvents objItemsInfo<span style=\"color:blue;\"> As <\/span>Outlook.Items\r\n<span style=\"color:blue;\">Public <\/span>WithEvents objItemsBuchhaltung<span style=\"color:blue;\"> As <\/span>Outlook.Items\r\n<span style=\"color:blue;\">Public <\/span>WithEvents objItemsEntwicklung<span style=\"color:blue;\"> As <\/span>Outlook.Items<\/pre>\n<h2>Aktivieren der Ordner zum erneuten Senden<\/h2>\n<p>Diese <b>Items<\/b>-Variablen m&uuml;ssen wir nun mit Verweisen auf die <b>Items<\/b>-Auflistungen unserer Outlook-Ordner f&uuml;llen. Das erledigen wir in der Prozedur <b>WeiterleitungsordnerAktivieren<\/b> aus Listing 1.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>WeiterleitungsordnerAktivieren()\r\n     <span style=\"color:blue;\">Dim <\/span>objOutlook<span style=\"color:blue;\"> As <\/span>Outlook.Application\r\n     <span style=\"color:blue;\">Dim <\/span>objMAPI<span style=\"color:blue;\"> As <\/span>Outlook.NameSpace\r\n     <span style=\"color:blue;\">Dim <\/span>objFolderBuchhaltung<span style=\"color:blue;\"> As <\/span>Outlook.Folder\r\n     <span style=\"color:blue;\">Dim <\/span>objFolderEntwicklung<span style=\"color:blue;\"> As <\/span>Outlook.Folder\r\n     <span style=\"color:blue;\">Dim <\/span>objFolderInfo<span style=\"color:blue;\"> As <\/span>Outlook.Folder\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> objMAPI = objOutlook.GetNamespace(\"MAPI\")\r\n     <span style=\"color:blue;\">Set<\/span> objFolderBuchhaltung = objMAPI.Folders(\"Outlook\").Folders(\"Posteingang\").Folders(\"Weiterleiten an ...\"). _\r\n         Folders(\"Buchhaltung\")\r\n     <span style=\"color:blue;\">Set<\/span> objItemsBuchhaltung = objFolderBuchhaltung.Items\r\n     <span style=\"color:blue;\">Set<\/span> objFolderEntwicklung = objMAPI.Folders(\"Outlook\").Folders(\"Posteingang\").Folders(\"Weiterleiten an ...\"). _\r\n         Folders(\"Entwicklung\")\r\n     <span style=\"color:blue;\">Set<\/span> objItemsEntwicklung = objFolderEntwicklung.Items\r\n     <span style=\"color:blue;\">Set<\/span> objFolderInfo = objMAPI.Folders(\"Outlook\").Folders(\"Posteingang\").Folders(\"Weiterleiten an ...\"). _\r\n         Folders(\"Info\")\r\n     <span style=\"color:blue;\">Set<\/span> objItemsInfo = objFolderInfo.Items\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Diese Prozedur initialisiert die Objektvariablen f&uuml;r die Ordner.<\/span><\/b><\/p>\n<p>Diese Prozedur deklariert Elemente f&uuml;r die Outlook-Anwendung, den MAPI-Namespace, in dem sich die Ordner befinden, sowie drei Ordner-Variablen des Typs <b>Folder<\/b>.<\/p>\n<p>Dann referenziert sie die aktuelle oder eine neue Outlook-Instanz und das enthaltene MAPI-Namespace. Danach stellt sie die Variable <b>objFolderBuchhaltung <\/b>auf den Ordner <b>Buchhaltung <\/b>ein. Dazu referenzieren wir &uuml;ber die Variable <b>objMAPI <\/b>jeweils mit der <b>Folders<\/b>-Auflistung die Ordner <b>Outlook<\/b>, <b>Posteingang<\/b>, <b>Weiterleiten an &#8230; <\/b>und schlie&szlig;lich <b>Buchhaltung<\/b>. Danach weisen wir der weiter oben deklarierten Variablen <b>objItemsBuchhaltung <\/b>die <b>Items<\/b>-Auflistung dieses Ordners zu. Das Gleiche erledigen wir auch noch f&uuml;r die &uuml;brigen beiden Ordner.<\/p>\n<p>Nun k&ouml;nnen wir die Ereignisprozeduren f&uuml;r die drei <b>Items<\/b>-Variablen implementieren. Dazu w&auml;hlen wir im Codefenster im linken Kombinationsfeld beispielsweise den Eintrag <b>objItemsBuchhaltung <\/b>aus und im rechten Kombinationsfeld den Eintrag <b>ItemAdd<\/b>. Dies erstellt die Ereignisprozedur <b>objItemsBuchhaltung_ItemAdd<\/b> (siehe Listing 2).<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objItemsBuchhaltung_ItemAdd(ByVal Item<span style=\"color:blue;\"> As Object<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>strTo<span style=\"color:blue;\"> As String<\/span>\r\n     strTo = Item.Parent.Description\r\n     <span style=\"color:blue;\">Call<\/span> SendAgainFolder(Item, strTo)\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>objItemsEntwicklung_ItemAdd(ByVal Item<span style=\"color:blue;\"> As Object<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>strTo<span style=\"color:blue;\"> As String<\/span>\r\n     strTo = Item.Parent.Description\r\n     <span style=\"color:blue;\">Call<\/span> SendAgainFolder(Item, strTo)\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>objItemsInfo_ItemAdd(ByVal Item<span style=\"color:blue;\"> As Object<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>strTo<span style=\"color:blue;\"> As String<\/span>\r\n     strTo = Item.Parent.Description\r\n     <span style=\"color:blue;\">Call<\/span> SendAgainFolder(Item, strTo)\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Die Ereignisse, die beim Hinzuf&uuml;gen einer E-Mail zu einem Ordner ausgel&ouml;st werden<\/span><\/b><\/p>\n<p>Diese Prozedur liefert mit dem Parameter <b>Item <\/b>einen Verweis auf das Element, das wir der <b>Items<\/b>-Auflistung des mit <b>objFolderBuchhaltung <\/b>referenzierten Ordners hinzuf&uuml;gen. Aus diesem lesen wir als Erstes den Wert der Eigenschaft <b>Description <\/b>aus und schreiben diesen in die Variable <b>strTo<\/b>. Diese Eigenschaft entspricht der Eigenschaft <b>Beschreibung<\/b>, die wir weiter oben &uuml;ber die Benutzeroberfl&auml;che von Outlook f&uuml;r den Ordner gef&uuml;llt haben. Danach rufen wir die Prozedur <b>SendAgainFolder <\/b>auf und &uuml;bergeben dieser sowohl einen Verweis auf die verschobene E-Mail als auch die E-Mailadresse, an welche diese geschickt werden soll.<\/p>\n<p>Die Prozedur <b>SendAgainFolder <\/b>hat also die beiden Parameter <b>objMailItem <\/b>und <b>strTo<\/b> (siehe Listing 3).<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>SendAgainFolder(objMailItem<span style=\"color:blue;\"> As <\/span>Outlook.MailItem, strTo<span style=\"color:blue;\"> As String<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>objOutlook<span style=\"color:blue;\"> As <\/span>Outlook.Application\r\n     <span style=\"color:blue;\">Dim <\/span>objMailItemNew<span style=\"color:blue;\"> As <\/span>Outlook.MailItem\r\n     On Error Resume <span style=\"color:blue;\">Next<\/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> objMailItem = objOutlook.ActiveExplorer.Selection(1)\r\n     <span style=\"color:blue;\">Set<\/span> objMailItem<span style=\"color:blue;\">New<\/span> = objMailItem.Copy\r\n     <span style=\"color:blue;\">With<\/span> objMailItem<span style=\"color:blue;\">New<\/span>\r\n         .To = strTo\r\n         .Send\r\n     End <span style=\"color:blue;\">With<\/span>\r\n     <span style=\"color:blue;\">If <\/span>Err.Number = 0<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Erfolgreich neu versendet.\"\r\n     <span style=\"color:blue;\">Else<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Fehler beim Versenden.\" & <span style=\"color:blue;\">vbCrLf<\/span> & Err.Description\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Die Prozedur, die eine in einen Ordner verschobene E-Mail erneut versendet<\/span><\/b><\/p>\n<p>Auch in dieser referenzieren wir die aktuelle Outlook-Instanz. Au&szlig;erdem deklarieren wir eine Variable namens <b>objMailItemNew<\/b>, mit der wir die anschlie&szlig;end erstellte Kopie der Original-E-Mail referenzieren.<\/p>\n<p>Das Ganze erledigen wir bei deaktivierter, eingebauter Fehlerbehandlung.<\/p>\n<p>Wenn kein Fehler auftritt, erhalten wir anschlie&szlig;end eine Meldung &uuml;ber den erfolgreichen Versand der E-Mail, ansonsten eine Meldung mit der Angabe des Fehlertextes. Damit ist die L&ouml;sung bereits einsatzbereit. Sobald wir einmal die Prozedur <b>WeiterleitungsordnerAktivieren<\/b> aufgerufen haben, werden alle E-Mails, die wir w&auml;hrend dieser Session in einen der daf&uuml;r vorgesehenen Ordner verschieben, an die f&uuml;r diesen Ordner angegebene E-Mail-Adresse versendet.<\/p>\n<p>Wir wollen nun noch daf&uuml;r sorgen, dass diese Funktion automatisch mit Outlook gestartet wird. Dazu nutzen wir die Ereignisprozedur <b>Startup <\/b>des <b>Application<\/b>-Objekts. Diese k&ouml;nnen wir einfach wie folgt zum Modul <b>ThisOutlookSession <\/b>hinzuf&uuml;gen:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Application_Startup()\r\n     WeiterleitungsordnerAktivieren\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Unterordner flexibel hinzuf&uuml;gen<\/h2>\n<p>Nun sind wir nur noch daran gebunden, dass wir f&uuml;r jeden Ordner, den wir unter den Hauptordner <b>Weiterleiten an &#8230;<\/b> hinzuf&uuml;gen und zum schnellen Weitersenden von E-Mails nutzen wollen, auch den Code anpassen m&uuml;ssen.<\/p>\n<p>Wir wollen den Code nun noch so anpassen, dass wir einfach nur Ordner hinzuf&uuml;gen und f&uuml;r die Beschreibung die Zieladresse angeben m&uuml;ssen. Den Rest soll der Code automatisch erledigen.<\/p>\n<p>Der Unterschied zum vorherigen Ansatz ist nun, dass wir nicht f&uuml;r die <b>Items<\/b>-Auflistung eines jeden Ordners eine eigene Objektvariable und dementsprechend legen wir auch nicht f&uuml;r jede dieser Variablen eine eigene <b>ItemAdd<\/b>-Ereignisprozedur an. Stattdessen erstellen wir ein Klassenmodul, das beides erfasst, und dem wir auch die Prozedur zum Versenden der E-Mail hinzuf&uuml;gen.<\/p>\n<p>Von diesem Klassenmodul erstellen wir f&uuml;r jeden Unterordner von <b>Weiterleiten an &#8230; <\/b>eine Instanz, &uuml;bergeben dieser einen Verweis auf die <b>Items<\/b>-Auflistung f&uuml;r den aktuellen Ordner. Dann f&uuml;gen wir die Klassenobjekte noch zu einer Collection hinzu, damit diese nicht aus dem Arbeitsspeicher verschwinden.<\/p>\n<p>Die Collection deklarieren wir zun&auml;chst im Modul <b>ThisOutlookSession<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Public <\/span>colItems<span style=\"color:blue;\"> As <\/span>Collection<\/pre>\n<p>Die Prozedur <b>WeiterleitungsordnerAktivieren <\/b>&auml;ndern wir wie folgt. Hier erstellen wir zun&auml;chst die Collection <b>colItems<\/b>. Dann referenzieren wir den &uuml;bergeordneten Ordner <b>Weiterleiten an &#8230; <\/b>und referenzieren diesen mit <b>objParentfolder<\/b>. Dann durchlaufen wir alle Unterordner von <b>Weiterleiten an &#8230; <\/b>und legen f&uuml;r jeden Eintrag eine neue Instanz der Klasse <b>clsItem <\/b>an, weisen der <b>Items<\/b>-Eigenschaft, die wir sp&auml;ter beschreiben, die <b>Items<\/b>-Auflistung des aktuellen Ordners zu und f&uuml;gen die neue Instanz von <b>clsItem <\/b>der Collection <b>colItems <\/b>hinzu:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>WeiterleitungsordnerAktivieren()\r\n     <span style=\"color:blue;\">Dim <\/span>objItem<span style=\"color:blue;\"> As <\/span>clsItem\r\n     <span style=\"color:blue;\">Dim <\/span>objOutlook<span style=\"color:blue;\"> As <\/span>Outlook.Application\r\n     <span style=\"color:blue;\">Dim <\/span>objMAPI<span style=\"color:blue;\"> As <\/span>Outlook.NameSpace\r\n     <span style=\"color:blue;\">Dim <\/span>objParentfolder<span style=\"color:blue;\"> As <\/span>Outlook.Folder\r\n     <span style=\"color:blue;\">Dim <\/span>objFolder<span style=\"color:blue;\"> As <\/span>Outlook.Folder\r\n     <span style=\"color:blue;\">Set<\/span> colItems = <span style=\"color:blue;\">New<\/span> Collection\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> objMAPI = objOutlook.GetNamespace(\"MAPI\")\r\n     <span style=\"color:blue;\">Set<\/span> objParentfolder = objMAPI.Folders(\"Outlook\"). _\r\n         Folders(\"Posteingang\").Folders(\"Weiterleiten an ...\")\r\n     For Each objFolder In objParentfolder.Folders\r\n         <span style=\"color:blue;\">Set<\/span> objItem = <span style=\"color:blue;\">New<\/span> clsItem\r\n         <span style=\"color:blue;\">Set<\/span> objItem.Items = objFolder.Items\r\n         colItems.Add objItem\r\n     <span style=\"color:blue;\">Next<\/span> objFolder\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>In der Klasse <b>clsItem<\/b>, die wir in Listing 4 sehen, deklarieren wir eine Variable f&uuml;r die <b>Items<\/b>-Auflistung, und zwar wieder mit dem Schl&uuml;sselwort <b>WithEvents<\/b>. Diese Variable f&uuml;llen wir &uuml;ber eine &ouml;ffentliche <b>Property Set<\/b>-Eigenschaft, die wir ebenfalls <b>Items<\/b> nennen. F&uuml;r die Objektvariable <b>m_Items <\/b>f&uuml;gen wir wie im vorherigen Ansatz die Prozedur f&uuml;r das Ereignis <b>ItemAd <\/b>hinzu.  Die enthaltenen Zeilen sehen genauso aus wie die bereits bekannten.<\/p>\n<pre><span style=\"color:blue;\">Private <\/span>WithEvents m_Items<span style=\"color:blue;\"> As <\/span>Outlook.Items\r\n<span style=\"color:blue;\">Public Property <span style=\"color:blue;\">Set<\/span> <\/span>Items(objItems<span style=\"color:blue;\"> As <\/span>Outlook.Items)\r\n     <span style=\"color:blue;\">Set<\/span> m_Items = objItems\r\n<span style=\"color:blue;\">End Property<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>m_Items_ItemAdd(ByVal Item<span style=\"color:blue;\"> As Object<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>strTo<span style=\"color:blue;\"> As String<\/span>\r\n     strTo = Item.Parent.Description\r\n     <span style=\"color:blue;\">Call<\/span> SendAgainFolder(Item, strTo)\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Public Sub <\/span>SendAgainFolder(objMailItem<span style=\"color:blue;\"> As <\/span>Outlook.MailItem, strTo<span style=\"color:blue;\"> As String<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>objOutlook<span style=\"color:blue;\"> As <\/span>Outlook.Application\r\n     <span style=\"color:blue;\">Dim <\/span>objMailItemNew<span style=\"color:blue;\"> As <\/span>Outlook.MailItem\r\n     On Error Resume <span style=\"color:blue;\">Next<\/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> objMailItem = objOutlook.ActiveExplorer.Selection(1)\r\n     <span style=\"color:blue;\">Set<\/span> objMailItem<span style=\"color:blue;\">New<\/span> = objMailItem.Copy\r\n     <span style=\"color:blue;\">With<\/span> objMailItem<span style=\"color:blue;\">New<\/span>\r\n         .To = strTo\r\n         .Send\r\n     End <span style=\"color:blue;\">With<\/span>\r\n     <span style=\"color:blue;\">If <\/span>Err.Number = 0<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Erfolgreich neu versendet.\"\r\n     <span style=\"color:blue;\">Else<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Fehler beim Versenden.\" & <span style=\"color:blue;\">vbCrLf<\/span> & Err.Description\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 4: Inhalt der Klasse clsItem<\/span><\/b><\/p>\n<p>Auch die Prozedur <b>SendAgainFolder <\/b>brauchen wir nicht zu ver&auml;ndern. Wir verschieben diese lediglich in das Klassenmodul <b>clsItem<\/b>, damit wir diese von innerhalb dieser Klasse aus aufrufen k&ouml;nnen.<\/p>\n<p>Wenn wir nun neue Ordner unterhalb des Ordners <b>Weiterleiten an &#8230;<\/b> hinzuf&uuml;gen und die Prozedur <b>WeiterleitungsordnerAktivieren <\/b>aufrufen, wird f&uuml;r jeden Ordner eine Instanz der Klasse <b>clsItem <\/b>erstellt und der Collection <b>colItems <\/b>hinzugef&uuml;gt. Auf diese Weise k&ouml;nnen wir nun beliebig viele Ordner hinzuf&uuml;gen und diese &uuml;ber die Eigenschaft Beschreibung mit Ziel-E-Mail-Adressen versehen.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Es kommt immer mal wieder vor, dass man eine E-Mail schnell weiterleiten m&ouml;chte &#8211; und das m&ouml;glichst ohne diese zu ver&auml;ndern. Das gelingt &uuml;ber die Benutzeroberfl&auml;che mit einem gewissen Aufwand &#8211; E-Mail &ouml;ffnen, Befehl aus dem Ribbon heraussuchen, Befehl ausf&uuml;hren, neue Empf&auml;ngeradresse einf&uuml;gen und E-Mail versenden.<\/p>\n<p>Wenn Du &ouml;fter E-Mails an verschiedene Adressen im Original weiterleiten m&ouml;chtest, kannst Du das mit der L&ouml;sung aus diesem Artikel durchf&uuml;hren. Dazu brauchst Du nur f&uuml;r jede Ziel-E-Mai-Adresse einen Ordner anzulegen und in seinen Eigenschaften die Adresse als Beschreibung anzugeben. Per Drag and Drop einer E-Mail in dieser Ordner wird diese dann automatisch an die angegebene E-Mail-Adresse versendet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manchmal kommen E-Mails in Postf&auml;chern an, wo man diese nicht optimal weiterverarbeiten kann. Ein Beispiel sind E-Mails von Kunden, die Fragen zur Buchhaltung haben, aber ihre E-Mails an die allgemeine info@-Adresse geschickt haben. Dann k&ouml;nnen wir diese E-Mail zwar an die Buchhaltungs-Adresse weiterleiten, aber wenn die Buchhaltung dann auf diese E-Mail antworten soll, enth&auml;lt diese bereits die beim Weiterleiten automatisch eingef&uuml;gten Elemente &#8211; das wirkt auf den Kunden nicht besonders professionell. Oder wir haben eine der vielen &#8220;Software As A Service&#8221;-Anwendung, die ein eigenes Postfach haben, &uuml;ber das wir Informationen direkt dorthin schicken k&ouml;nnen. Ein Beispiel ist die Projektverwaltung Trello, der man E-Mails an eine spezielle E-Mail-Adresse zusenden kann, die dann dort automatisch als Aufgaben angelegt werden. In diesem Artikel zeigen wir, wie wir mit wenigen Anweisungen eine Kopie dieser E-Mail an eine weitere Adresse schicken k&ouml;nnen. Das erledigen wir zun&auml;chst durch den Aufruf einer VBA-Prozedur. Anschlie&szlig;end schauen wir uns an, wie wir das auch &uuml;ber die Benutzeroberfl&auml;che erledigen 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":[662024,66052024,44000026],"tags":[],"yst_prominent_words":[],"class_list":["post-55000442","post","type-post","status-publish","format-standard","hentry","category-662024","category-66052024","category-Outlook_programmieren"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000442"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000442\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000442"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}