{"id":1708,"date":"2013-01-30T19:00:02","date_gmt":"2013-01-30T17:00:02","guid":{"rendered":"http:\/\/www.kastenmaier.de\/?p=1708"},"modified":"2018-10-22T15:57:36","modified_gmt":"2018-10-22T14:57:36","slug":"vba-outlook-namen-der-dateien-im-e-mail-anhang-am-anfang-der-e-mail-auflisten","status":"publish","type":"post","link":"https:\/\/www.kastenmaier.de\/?p=1708","title":{"rendered":"VBA \u2013 Outlook: Namen der Dateien im E-Mail-Anhang am Anfang \/ der aktuellen Cursorposition der E-Mail auflisten [Update 22.10.2018]"},"content":{"rendered":"<h1>Beschreibung<\/h1>\n<p>Wer in Outlook E-Mails mit PGP verschl\u00fcsselt, nutzt h\u00e4ufig die verf\u00fcgbare Funktion, die E-Mail vollst\u00e4ndig zu verschl\u00fcsseln. Das funktioniert gut, so lange Sender und Empf\u00e4nger PGP verwenden. Verwendet der Empf\u00e4nger allerdings GPG, taucht das Problem auf, dass die Namen der E-Mail-Anh\u00e4nge nicht korrekt angezeigt werden.&nbsp;<!--more--><\/p>\n<p>Die folgenden VBA-Makros (getrennte Varianten f\u00fcr <a href=\"#Plain_Text_am_Anfang\">E-Mails im &#8222;Nur Text&#8220;-Format<\/a> und f\u00fcr <a href=\"#HTML_Text_am_Anfang\">E-Mails im &#8222;HTML&#8220;-Format<\/a>) f\u00fcgen am Anfang bzw. <a href=\"#Plain_Text_an_aktueller_Position\">an der aktuellen Cursorposition<\/a> <span style=\"color: #ff0000;\">[Update 19.10.2018]<\/span> der aktiven E-Mail einen Textblock ein, der alle Dateinamen der Reihe nach auflistet und dem Empf\u00e4nger so die M\u00f6glichkeit geben, zu erkennen, welche Dateien sich im Anhang befinden. Dem Sender erspart es zudem, manuell zu schreiben, welche Dateien \/ Dateitypen sich im E-Mail-Anhang befinden.<img decoding=\"async\" title=\"Weiterlesen \u2026\" src=\"http:\/\/www.kastenmaier.de\/wp-includes\/js\/tinymce\/plugins\/wordpress\/img\/trans.gif\" alt=\"\"\/><\/p>\n<p><strong>Damit die Funktion funktioniert, wird dar\u00fcber hinaus die Funktion&nbsp;<a href=\"http:\/\/www.kastenmaier.de\/?p=1714\" target=\"_blank\" rel=\"noopener\">Namen der Dateien im E-Mail-Anhang auslesen<\/a>&nbsp;ben\u00f6tigt.<\/strong><\/p>\n<h1>Sourcecode f\u00fcr E-Mails im &#8222;Nur Text&#8220;-Format<\/h1>\n<h2><a id=\"Plain_Text_am_Anfang\"><\/a>1 &#8211; Text am Anfang der E-Mail einf\u00fcgen<\/h2>\n<pre class=\"brush: vb; gutter: true\">Public Sub addAttFilenamesToMailAsText()\r\n    &#039; Textkonstanten f\u00fcr die Begrenzungen\r\n    Const ATTLIST_BORDER As String = &quot;************************************************&quot;\r\n    Const ATTLIST_ENTRY_LINESTART As String = &quot;* &quot;\r\n\r\n    &#039; aktuelles Outlookfenster als zu verwendendes definieren\r\n    Dim curInspector As Outlook.Inspector\r\n    Set curInspector = Application.ActiveInspector\r\n\r\n    &#039; Pr\u00fcfen, ob Dateianh\u00e4nge vorhanden sind\r\n    If Not TypeName(curInspector) = &quot;Nothing&quot; Then\r\n        Dim sAtts() As String\r\n        Dim iFoundAttCount As Integer\r\n        Dim sBody As String\r\n\r\n        &#039; Dateianh\u00e4nge auslesen\r\n        sAtts() = getAtts()\r\n\r\n        iFoundAttCount = UBound(sAtts)\r\n\r\n        &#039; Hinzuzuf\u00fcgenden Text zusammensetzen\r\n        sBody = ATTLIST_BORDER + vbCrLf\r\n        If iFoundAttCount &gt; 0 Then\r\n            Dim iAttNo As Integer\r\n\r\n            For iAttNo = 0 To iFoundAttCount\r\n                &#039; Jeden Anhang in einer neuen Zeile auff\u00fchren\r\n                sBody = sBody + ATTLIST_ENTRY_LINESTART + sAtts(iAttNo) + vbCrLf\r\n            Next iAttNo\r\n        End If\r\n        sBody = sBody + ATTLIST_BORDER + vbCrLf\r\n\r\n        &#039; Mit aktuellem E-Mail-Objekt arbeiten\r\n        Dim curItem As Outlook.MailItem\r\n        Set curItem = curInspector.CurrentItem\r\n\r\n        &#039; Text am Anfang der E-Mail einf\u00fcgen\r\n        curItem.Body = sBody + vbCrLf + vbCrLf + vbCrLf + curItem.Body\r\n    End If\r\nEnd Sub\r\n<\/pre>\n<h2><a id=\"Plain_Text_an_aktueller_Position\"><\/a>2 &#8211; Text an der aktuellen Cursorposition einf\u00fcgen&nbsp;<span style=\"color: #ff0000;\">[Update 19.10.2018]<\/span><\/h2>\n<pre class=\"brush: vb; gutter: false\">Public Sub addAttFilenamesToMailAsText()\r\n    &#039; Textkonstanten f\u00fcr die Begrenzungen\r\n    Const ATTLIST_BORDER As String = &quot;************************************************&quot;\r\n    Const ATTLIST_ENTRY_LINESTART As String = &quot;* &quot;\r\n \r\n    &#039; aktuelles Outlookfenster als zu verwendendes definieren\r\n    Dim objCurInspector As Outlook.Inspector\r\n    Set objCurInspector = Application.ActiveInspector\r\n \r\n    &#039; Pr\u00fcfen, ob Dateianh\u00e4nge vorhanden sind\r\n    If Not TypeName(objCurInspector) = &quot;Nothing&quot; Then\r\n        Dim strAtts() As String\r\n        Dim intFoundAttCount As Integer\r\n        Dim strBody As String\r\n \r\n        &#039; Dateianh\u00e4nge auslesen\r\n        strAtts() = getAtts()\r\n \r\n        intFoundAttCount = UBound(strAtts)\r\n \r\n        &#039; Hinzuzuf\u00fcgenden Text zusammensetzen\r\n        strBody = ATTLIST_BORDER + vbCrLf\r\n        If intFoundAttCount &gt; 0 Then\r\n            Dim intAttNo As Integer\r\n \r\n            For intAttNo = 0 To intFoundAttCount\r\n                &#039; Jeden Anhang in einer neuen Zeile auff\u00fchren\r\n                strBody = strBody + ATTLIST_ENTRY_LINESTART + strAtts(intAttNo) + vbCrLf\r\n            Next intAttNo\r\n        \r\n           strBody = strBody + ATTLIST_BORDER + vbCrLf\r\n    \r\n           &#039; Mit aktuellem E-Mail-Objekt arbeiten\r\n           Dim objCurItem As Outlook.MailItem\r\n           Set objCurItem = objCurInspector.CurrentItem\r\n    \r\n           &#039; Text an der aktuellen Position der E-Mail einf\u00fcgen\r\n           ActiveInspector.WordEditor.Application.Selection.TypeText vbCrLf &amp; strBody &amp; vbCrLf\r\n        End If\r\n    End If\r\nEnd Sub<\/pre>\n<h1>Sourcecode f\u00fcr E-Mails im &#8222;HTML&#8220;-Format<\/h1>\n<h2><a id=\"HTML_Text_am_Anfang\"><\/a>1 &#8211; Text am Anfang der E-Mail einf\u00fcgen<\/h2>\n<pre class=\"brush: vb; gutter: true\">Public Sub addAttFilenamesToMailAsHTMLText()\r\n    &#039; Textkonstanten f\u00fcr die Begrenzungen\r\n    Const ATTLIST_BORDER As String = &quot;************************************************&quot;\r\n    Const ATTLIST_ENTRY_LINESTART As String = &quot;* &quot;\r\n  \r\n    &#039; aktuelles Outlookfenster als zu verwendendes definieren\r\n    Dim curInspector As Outlook.Inspector\r\n    Set curInspector = Application.ActiveInspector\r\n  \r\n    &#039; Pr\u00fcfen, ob Dateianh\u00e4nge vorhanden sind\r\n    If Not TypeName(curInspector) = &quot;Nothing&quot; Then\r\n        Dim sAtts() As String\r\n        Dim iFoundAttCount As Integer\r\n        Dim sBody As String\r\n  \r\n        &#039; Dateianh\u00e4nge auslesen\r\n        sAtts() = getAtts()\r\n \r\n        iFoundAttCount = UBound(sAtts)\r\n  \r\n        &#039; Hinzuzuf\u00fcgenden Text zusammensetzen\r\n        sBody = ATTLIST_BORDER + &quot;&lt;br&gt;&quot;\r\n        If iFoundAttCount &gt; 0 Then\r\n            Dim iAttNo As Integer\r\n  \r\n            For iAttNo = 0 To iFoundAttCount\r\n                &#039; Jeden Anhang in einer neuen Zeile auff\u00fchren\r\n                sBody = sBody + ATTLIST_ENTRY_LINESTART + sAtts(iAttNo) + &quot;&lt;br&gt;&quot;\r\n            Next iAttNo\r\n        End If\r\n        sBody = sBody + ATTLIST_BORDER + &quot;&lt;br&gt;&quot;\r\n  \r\n        &#039; Mit aktuellem E-Mail-Objekt arbeiten\r\n        Dim curItem As Outlook.MailItem\r\n        Set curItem = curInspector.CurrentItem\r\n  \r\n        &#039; Text am Anfang der E-Mail einf\u00fcgen\r\n        curItem.HTMLBody = sBody + &quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;&quot; + curItem.HTMLBody\r\n    End If\r\nEnd Sub<\/pre>\n<h2>2 &#8211; Text an der aktuellen Cursorposition einf\u00fcgen&nbsp;<span style=\"color: #ff0000;\">[Update 22.10.2018]<\/span><\/h2>\n<p>Siehe Abschnitt &#8222;Sourcecode f\u00fcr E-Mails im &#8222;Nur Text&#8220;-Format&#8220;, Variante&nbsp;<a href=\"#Plain_Text_an_aktueller_Position\">2 &#8211; Text an der aktuellen Cursorposition einf\u00fcgen&nbsp;[Update 19.10.2018]<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beschreibung Wer in Outlook E-Mails mit PGP verschl\u00fcsselt, nutzt h\u00e4ufig die verf\u00fcgbare Funktion, die E-Mail vollst\u00e4ndig zu verschl\u00fcsseln. Das funktioniert gut, so lange Sender und Empf\u00e4nger PGP verwenden. Verwendet der Empf\u00e4nger allerdings GPG, taucht das Problem auf, dass die Namen der E-Mail-Anh\u00e4nge nicht korrekt angezeigt werden.&nbsp;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[29,47],"tags":[48,49,37],"class_list":["post-1708","post","type-post","status-publish","format-standard","hentry","category-startseite","category-vba-outlook","tag-outlook","tag-programmieren","tag-vba"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p5LyzC-ry","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=\/wp\/v2\/posts\/1708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1708"}],"version-history":[{"count":20,"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=\/wp\/v2\/posts\/1708\/revisions"}],"predecessor-version":[{"id":2238,"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=\/wp\/v2\/posts\/1708\/revisions\/2238"}],"wp:attachment":[{"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kastenmaier.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}