{"id":55000307,"date":"2022-04-01T00:00:00","date_gmt":"2023-03-02T17:06:30","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=307"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Outlook_Explorer_automatisieren","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Outlook_Explorer_automatisieren\/","title":{"rendered":"Outlook: Explorer automatisieren"},"content":{"rendered":"<p><b>Outlook ist wohl die Schaltzentrale an allen Arbeitspl&auml;tzen, die mit Microsoft Office arbeiten. Es bietet schon von Haus aus sehr viele M&ouml;glichkeiten, um E-Mails, Termine, Aufgaben oder Kontakte zu verwalten. Wenn man l&auml;nger damit arbeitet, kommen einem fr&uuml;her oder sp&auml;ter Ideen, wie man es noch weiter automatisieren k&ouml;nnte. Beispielsweise, um die Inhalte von E-Mails, die man in einen bestimmten Ordner verschiebt, gleich in Aufgaben umzuwandeln, vorgefertigte Antworten f&uuml;r E-Mails bereitzuhalten und so weiter. Der Weg zur Umsetzung f&uuml;hrt &uuml;ber die Programmierung per VBA und genauer von VBA-Ereignissen. Denn f&uuml;r fast jede Aktion, die wir in Outlook durchf&uuml;hren, ob es nun das Erstellen oder Abschicken einer E-Mail, das Anlegen einer Aufgabe, das &Ouml;ffnen eines Kontaktes ist, k&ouml;nnen wir ein Ereignis definieren, f&uuml;r das wir eine passende Prozedur hinterlegen. Dieser Artikel zeigt die wichtigsten Elemente des Hauptelements der Benutzeroberfl&auml;che von Outlook, n&auml;mlich dem Explorer, und wie wir diese direkt im VBA-Projekt von Outlook f&uuml;r unsere Zwecke anpassen k&ouml;nnen.<\/b><\/p>\n<p>Die Benutzeroberfl&auml;che von Outlook bietet eine Menge M&ouml;glichkeiten, mit denen der Benutzer diese bedienen kann. Und um alle denkbaren Ideen f&uuml;r die Automatisierungen von Outlook umzusetzen, wollen wir in der Lage sein, all diese Benutzeraktionen abzufangen, indem wir daf&uuml;r entsprechende Ereignisprozeduren hinterlegen. Die Basis daf&uuml;r sind die folgenden Schritte:<\/p>\n<ul>\n<li>Identifizieren, welcher VBA-Klasse der Outlook-Bibliothek ein Element der Benutzeroberfl&auml;che von Outlook entspricht.<\/li>\n<li>Diese Klasse in Form einer Objektvariablen deklarieren und referenzieren.<\/li>\n<li>F&uuml;r die Objektvariable die gew&uuml;nschten Ereignisprozeduren implementieren.<\/li>\n<\/ul>\n<h2>Die Basis: Die Application-Klasse<\/h2>\n<p>Die Grundlage f&uuml;r alle Zugriffe auf die Elemente der Benutzeroberfl&auml;che von Outlook ist die <b>Application<\/b>-Klasse. Diese beschreiben wir mit allen Eigenschaften, Methoden und Ereignissen ausf&uuml;hrlich im Artikel <b>Outlook: Die Application-Klasse <\/b>(<b>www.vbentwickler.de\/305<\/b>).<\/p>\n<h2>Fenstertypen unter Outlook<\/h2>\n<p>Bevor wir beginnen, ein Fenster unter Outlook zu referenzieren, stellen wir zun&auml;chst die verschiedenen Fenster vor. Es gibt die folgenden beiden Fenstertypen:<\/p>\n<ul>\n<li><b>Explorer<\/b>: Eigentliches Outlook-Fenster. Es kann auch mehrere davon geben, je nachdem, wie oft der Benutzer Outlook ge&ouml;ffnet hat. Auch mehrere Explorer-Fenster unterliegen jedoch immer einem einzigen <b>Application<\/b>-Objekt. Der Aufruf der <b>Quit<\/b>-Methode des &uuml;bergeordneten <b>Application<\/b>-Objekts schlie&szlig;t daher immer alle <b>Explorer<\/b>-Fenster.<\/li>\n<li><b>Inspector<\/b>: Ein <b>Inspector<\/b>-Fenster ist eines der Fenster, mit dem Sie per Doppelklick auf eines der Elemente in den Ordnern eines <b>Explorer<\/b>-Fensters die Details des jeweiligen Elements anzeigen &#8211; beispielsweise f&uuml;r E-Mails, Termine, Kontakte et cetera.<\/li>\n<\/ul>\n<h2>Auf die Fenster von Outlook zugreifen<\/h2>\n<p>Bereits die verschiedenen Fenster von Outlook bieten einige M&ouml;glichkeiten zur Programmierung und halten dementsprechend auch einige Ereignisse bereit. Bevor wir diese vorstellen, m&uuml;ssen wir jedoch zun&auml;chst einmal Zugriff auf das gew&uuml;nschte Fenster erhalten.<\/p>\n<p>Daf&uuml;r gibt es zun&auml;chst die folgenden drei Methoden:<\/p>\n<ul>\n<li><b>ActiveExplorer<\/b>: <b>ActiveExplorer <\/b>liefert einen Verweis auf das oberste Element der ge&ouml;ffneten Outlook-<b>Explorer <\/b>zur&uuml;ck, also das Element, das zuletzt aktiviert wurde. Das gilt auch, wenn zwischenzeitlich Fenster einer anderen Anwendung aktiviert wurden.<\/li>\n<li><b>ActiveInspector<\/b>: Liefert einen Verweis auf das <b>Inspector<\/b>-Element f&uuml;r das oberste <b>Inspector<\/b>-Objekt, also das Element, das zuletzt aktiviert wurde. Es kann auch sein, dass gar kein <b>Inspector<\/b>-Fenster ge&ouml;ffnet ist, dann liefert <b>ActiveInspector <\/b>den Wert <b>Nothing<\/b>.<\/li>\n<li><b>ActiveWindow<\/b>: <b>ActiveWindow <\/b>liefert immer einen Verweis auf das oberste Element der ge&ouml;ffneten <b>Explorer<\/b>&#8211; und <b>Inspector<\/b>-Elemente. Der Typ des zur&uuml;ckgelieferten Elements lautet dementsprechend entweder <b>Explorer <\/b>oder <b>Inspector<\/b>.<\/li>\n<\/ul>\n<p>Die folgenden Anweisungen geben jeweils den Titel des ermittelten <b>Explorer<\/b>&#8211; beziehungsweise <b>Inspector<\/b>-Elements aus:<\/p>\n<pre>  Application.ActiveExplorer.Caption\r\n  Application.ActiveInspector.Caption\r\n  Application.ActiveWindow.Caption<\/pre>\n<p>Wir k&ouml;nnen auch alle <b>Explorer<\/b>&#8211; oder alle <b>Inspector<\/b>-Elemente durchlaufen. Hier zun&auml;chst die Ausgabe der Titel aller aktuell ge&ouml;ffneten <b>Explorer<\/b>-Elemente:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>AlleExplorer()\r\n     <span style=\"color:blue;\">Dim <\/span>objExplorer<span style=\"color:blue;\"> As <\/span>Explorer\r\n     For Each objExplorer In Application.Explorers\r\n         <span style=\"color:blue;\">Debug.Print<\/span> objExplorer.Caption\r\n     <span style=\"color:blue;\">Next<\/span> objExplorer\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das gelingt auch f&uuml;r alle ge&ouml;ffneten <b>Inspector<\/b>-Elemente:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>AlleInspectors()\r\n     <span style=\"color:blue;\">Dim <\/span>objInspector<span style=\"color:blue;\"> As <\/span>Inspector\r\n     For Each objInspector In Application.Inspectors\r\n         <span style=\"color:blue;\">Debug.Print<\/span> objInspector.Caption\r\n     <span style=\"color:blue;\">Next<\/span> objInspector\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Ereignis beim &Ouml;ffnen eines neuen Explorers<\/h2>\n<p>Mit dem Implementieren von Ereignissen k&ouml;nnen wir gleich beim &Ouml;ffnen eines neuen Explorers beginnen. Wenn der Benutzer beispielsweise neben dem ersten <b>Explorer<\/b>-Fenster ein weiteres &ouml;ffnet, weil er eines mit E-Mails und eines mit Terminen nebeneinander anzeigen m&ouml;chte, fangen wir das wie folgt ab. Dazu deklarieren wir im allgemeinen Teil der Klasse <b>ThisOutlookSession <\/b>die folgende Variable:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents objExplorers<span style=\"color:blue;\"> As <\/span>Explorers<\/pre>\n<p>Diese Variable m&uuml;ssen wir f&uuml;llen, am einfachsten in der beim Start von Outlook automatisch ausgef&uuml;hrten Ereignisprozedur <b>Application_Startup<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Application_Startup()\r\n     <span style=\"color:blue;\">Set<\/span> objExplorers = Application.Explorers\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Und f&uuml;r das Ereignis <b>NewExplorer <\/b>der Auflistung <b>objExplorers <\/b>hinterlegen wir dann die folgende Ereignisprozedur:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objExplorers_NewExplorer(ByVal Explorer _\r\n        <span style=\"color:blue;\"> As <\/span>Explorer)\r\n     <span style=\"color:blue;\">MsgBox<\/span> \"Neuer Explorer: \" & Explorer.Caption\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Explorer-Fenster referenzieren<\/h2>\n<p>Auch das <b>Explorer<\/b>-Fenster bietet einige Ereignisse an, die wir implementieren k&ouml;nnen. Wollen wir diese implementieren, ben&ouml;tigen wir auch f&uuml;r dieses Fenster eine passende Objektvariable, die wir mit dem Schl&uuml;sselwort <b>WithEvents <\/b>deklarieren:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents objExplorer<span style=\"color:blue;\"> As <\/span>Explorer<\/pre>\n<p>Eigentlich k&ouml;nnen wir bereits das vorherige Beispiel nutzen, um diese Variable zu f&uuml;llen:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objExplorers_NewExplorer(ByVal Explorer _\r\n        <span style=\"color:blue;\"> As <\/span>Explorer)\r\n     <span style=\"color:blue;\">Set<\/span> objExplorer = Explorer\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Wenn wir hingegen direkt beim Starten von Outlook das aktuelle Explorer-Fenster mit dieser Variablen referenzieren wollen, gelingt dies wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Application_Startup()\r\n     <span style=\"color:blue;\">Set<\/span> objExplorer = Explorer\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Auf das Wechseln des Bereichs im Explorer reagieren<\/h2>\n<p>In Bild 1 sehen wir einen typischen Outlook-Explorer. Anhand dieses Beispiels wollen wir uns einige Ereignisse ansehen, die der Benutzer durch verschiedene Aktionen ausl&ouml;sen kann. Eines vorneweg: Das Bet&auml;tigen der Elemente im modernisierten Ribbon werden wir in diesem Artikel nicht dokumentieren.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_307_001.png\" alt=\"Die Benutzeroberfl&auml;che von Outlook mit den typischen Elementen\" width=\"700\" height=\"414,6704\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Die Benutzeroberfl&auml;che von Outlook mit den typischen Elementen<\/span><\/b><\/p>\n<p>Ob und wie wir auf das Bet&auml;tigen der Ribbonbefehle durch den Benutzer reagieren k&ouml;nnen, zeigen wir in einem eigenen Artikel auf. Hier ermitteln und referenzieren wir zun&auml;chst einmal den aktuellen Ordner und reagieren dann darauf, wenn der Benutzer diesen Ordner wechselt. Unter Ordnern verstehen wir die in der Abbildung mit der Zahl <b>2 <\/b>und <b>3 <\/b>markierten Elemente.<\/p>\n<p>Wenn der Benutzer beispielsweise vom Ordner <b>Posteingang <\/b>zu <b>Gesendete Elemente <\/b>wechselt, l&ouml;st er damit das Ereignis <b>FolderSwitch <\/b>aus. Dieses implementieren wir beispielsweise wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objExplorer_FolderSwitch()\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"Der Ordner wurde gewechselt in: \", _\r\n         objExplorer.CurrentFolder\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Dies gibt nach dem Wechseln zum Ordner <b>Gesendete Elemente <\/b>den Text <b>Gesendete Elemente <\/b>aus. Das gleiche Ereignis wird ausgel&ouml;st, wenn wir zu einem der anderen Bereiche wechseln, die in der Abbildung mit der Zahl <b>1 <\/b>markiert sind.<\/p>\n<p>Durch das Wechseln beispielsweise vom Bereich <b>E-Mails <\/b>zu <b>Kalender <\/b>zeigt Outlook n&auml;mlich automatisch den zuletzt f&uuml;r diesen Bereich markierten Ordner an.<\/p>\n<h2>Ereignisse beim Wechseln der Ansicht<\/h2>\n<p>Outlook bietet verschiedene Ansichten an, wenn wir im Ribbon zur Registerseite <b>Ansicht <\/b>wechseln und dann auf <b>Ansicht &auml;ndern <\/b>klicken. Wir erhalten dann die Auswahl der Ansichten aus Bild 2. W&auml;hlen wir hier einen anderen als den aktuellen Eintrag aus, l&ouml;sen wir damit zwei Ereignisse aus: <b>BeforeViewSwitch <\/b>und <b>ViewSwitch<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_307_002.png\" alt=\"&Auml;ndern der Ansicht f&uuml;r die Elemente eines Ordners\" width=\"474,6267\" height=\"324,3282\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: &Auml;ndern der Ansicht f&uuml;r die Elemente eines Ordners<\/span><\/b><\/p>\n<p>Die Prozedur f&uuml;r das Ereignis <b>BeforeViewSwitch <\/b>liefert zwei Parameter &#8211; die Bezeichnung der gew&auml;hlten neuen Ansicht mit <b>NewView <\/b>und den R&uuml;ckgabeparameter <b>Cancel<\/b>. In dieser Prozedur k&ouml;nnen wir pr&uuml;fen, ob die Bedingungen f&uuml;r den Wechsel der Ansicht erf&uuml;llt sind und falls nicht, k&ouml;nnen wir den Wechsel durch Einstellen von <b>Cancel <\/b>auf den Wert <b>True <\/b>stoppen.<\/p>\n<p>Im folgenden Beispiel geben wir jedoch nur den Namen der gew&auml;hlten Ansicht aus:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objExplorer_BeforeViewSwitch( _\r\n         ByVal NewView<span style=\"color:blue;\"> As Variant<\/span>, Cancel<span style=\"color:blue;\"> As Boolean<\/span>)\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"Explorer_BeforeViewSwitch\", NewView\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das zweite Ereignis <b>ViewSwitch <\/b>wird nur ausgel&ouml;st, wenn der Wechsel der Ansicht tats&auml;chlich erfolgt ist, also wenn der Parameter <b>Cancel <\/b>in der Ereignisprozedur f&uuml;r das Ereignis <b>BeforeViewSwitch <\/b>nicht auf <b>True <\/b>eingestellt wurde. Hier geben wir nochmals die aktuelle Ansicht aus, die wir diesmal nicht per Parameter erhalten, sondern &uuml;ber die Eigenschaft <b>CurrentView <\/b>ermitteln:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objExplorer_ViewSwitch()\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"Die Ansicht wurde ge&auml;ndert in: \", _\r\n         objExplorer.CurrentView\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Alle Explorer-Fenster referenzieren<\/h2>\n<p>Etwas komplizierter wird es, wenn wir Ereignisse f&uuml;r mehr als ein Explorer-Fenster nutzen wollen. In diesem Fall m&uuml;ssen wir f&uuml;r jedes Explorer-Fenster, das ge&ouml;ffnet ist, eine eigene Objektvariable reservieren und diese mit einem Verweis auf das jeweilige Explorer-Fenster versehen. Nun ist die Menge der zu erwartenden Explorer-Fenster in den meisten F&auml;llen &uuml;berschaubar. Ich selbst hatte genau genommen noch nie den Bedarf, mehr als einen Outlook-Explorer zu &ouml;ffnen &#8211; ich bin einfach zwischen den verschiedenen Ordnern hin- und hergesprungen. Auf die Idee, beispielsweise zwei Explorer-Fenster f&uuml;r E-Mails und Termine nebeneinander zu platzieren, um diese gleichzeitig im &Uuml;berblick zu haben, bin ich zuvor nie gekommen.<\/p>\n<p>Allerdings k&ouml;nnen wir nicht ausschlie&szlig;en, dass es da drau&szlig;en Benutzer gibt, die diese sicher durchaus praktische Darstellung nutzen und daher k&uuml;mmern wir uns auch um diesen Fall. Auch wenn die meisten Benutzer vermutlich eine begrenzte Anzahl von Explorern verwenden, was dazu verleiten k&ouml;nnte, einige Variablen wie <b>objExplorer1<\/b>, <b>objExplorer2 <\/b>und so weiter zu verwenden, so m&uuml;sste man in diesem Fall doch f&uuml;r jedes dieser Objekte einzeln die jeweiligen Ereignisprozeduren anlegen. Und das w&uuml;rde zu viel Arbeit bedeuten, wenn man einmal eine der Prozeduren anpassen wollte &#8211; dann m&uuml;ssten diese &Auml;nderungen immer gleich mehrfach durchgef&uuml;hrt werden.<\/p>\n<p>Also w&auml;hlen wir einen alternativen Ansatz, bei dem wir eine Wrapper-Klasse f&uuml;r die <b>Explorer<\/b>-Elemente anlegen. Diese sieht wie in Listing 1 aus, wobei wir hier nur die vier bisher vorgestellten Ereignisse implementiert haben.<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents m_Explorer<span style=\"color:blue;\"> As <\/span>Outlook.Explorer\r\n<span style=\"color:blue;\">Public Property <span style=\"color:blue;\">Set<\/span> <\/span>Explorer(obj<span style=\"color:blue;\"> As <\/span>Outlook.Explorer)\r\n     <span style=\"color:blue;\">Set<\/span> m_Explorer = obj\r\n<span style=\"color:blue;\">End Property<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>m_Explorer_BeforeFolderSwitch(ByVal NewFolder<span style=\"color:blue;\"> As Object<\/span>, Cancel<span style=\"color:blue;\"> As Boolean<\/span>)\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"Folder wird zu ''\" & m_Explorer.CurrentFolder & \"'' ge&auml;ndert.\"\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>m_Explorer_BeforeViewSwitch(ByVal NewView<span style=\"color:blue;\"> As Variant<\/span>, Cancel<span style=\"color:blue;\"> As Boolean<\/span>)\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"View wird zu ''\" & m_Explorer.CurrentView & \"'' ge&auml;ndert.\"\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>m_Explorer_FolderSwitch()\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"Folder wurde zu ''\" & m_Explorer.CurrentFolder & \"'' ge&auml;ndert.\"\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>m_Explorer_ViewSwitch()\r\n     <span style=\"color:blue;\">Debug.Print<\/span> \"View wurde zu ''\" & m_Explorer.CurrentView & \"'' ge&auml;ndert.\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Code der Wrapperklasse clsExplorerWrapper<\/span><\/b><\/p>\n<p>Schau Dir diese Konstellation genau an, denn sie wird immer und immer wieder auftreten &#8211; ob f&uuml;r einzelne Objekte, deren Ereignisse wir implementieren wollen oder f&uuml;r mehrere, die wir wie im vorliegenden Beispiel in einer Collection speichern.<\/p>\n<p>Wir legen also eine neue Klasse an, die wir in diesem Fall <b>clsExplorerWrapper <\/b>nennen. Dazu bet&auml;tigen wir als Erstes den Men&uuml;befehl <b>Einf&uuml;gen|Klassenmodul<\/b>.  Danach &auml;ndern wir den Namen des Klassenmoduls beispielsweise von <b>Klasse1 <\/b>in <b>clsExplorerWrapper<\/b>, indem wir dieses im <b>Projekt<\/b>-Explorer markieren und dann die Eigenschaft <b>(Name) <\/b>im <b>Eigenschaften<\/b>-Bereich einstellen. &Uuml;brigens: Im Gegensatz zu den VBA-Projekten beispielsweise von Access-Datenbanken bietet Outlook f&uuml;r neu angelegte Module, deren Standardname wie <b>Modul1 <\/b>oder <b>Klasse1 <\/b>nicht durch den Entwickler ge&auml;ndert wurde, beim Speichern nicht die M&ouml;glichkeit, den Modulnamen zu &auml;ndern.<\/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>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 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:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000307\/\">\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=\"\/data\/wp\/v2\/posts\/55000307?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<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000307\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"45e493ab83\"\/>\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>Outlook ist wohl die Schaltzentrale an allen Arbeitspl&auml;tzen, die mit Microsoft Office arbeiten. Es bietet schon von Haus aus sehr viele M&ouml;glichkeiten, um E-Mails, Termine, Aufgaben oder Kontakte zu verwalten. Wenn man l&auml;nger damit arbeitet, kommen einem fr&uuml;her oder sp&auml;ter Ideen, wie man es noch weiter automatisieren k&ouml;nnte. Beispielsweise, um die Inhalte von E-Mails, die man in einen bestimmten Ordner verschiebt, gleich in Aufgaben umzuwandeln, vorgefertigte Antworten f&uuml;r E-Mails bereitzuhalten und so weiter. Der Weg zur Umsetzung f&uuml;hrt &uuml;ber die Programmierung per VBA und genauer von VBA-Ereignissen. Denn f&uuml;r fast jede Aktion, die wir in Outlook durchf&uuml;hren, ob es nun das Erstellen oder Abschicken einer E-Mail, das Anlegen einer Aufgabe, das &Ouml;ffnen eines Kontaktes ist, k&ouml;nnen wir ein Ereignis definieren, f&uuml;r das wir eine passende Prozedur hinterlegen. Dieser Artikel zeigt die wichtigsten Elemente des Hauptelements der Benutzeroberfl&auml;che von Outlook, n&auml;mlich dem Explorer, und wie wir diese direkt im VBA-Projekt von Outlook f&uuml;r unsere Zwecke anpassen 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":[66022022,662022,44000038,44000026],"tags":[],"yst_prominent_words":[],"class_list":["post-55000307","post","type-post","status-publish","format-standard","hentry","category-66022022","category-662022","category-Office_programmieren","category-Outlook_programmieren"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000307","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=55000307"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000307\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000307"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}