leex01
Goto Top

Alle Outlook Anhänge öffnen

Moin,

gibt's ne Tastenkombination in Outlook 2019 um alle Anhänge auf einmal zu öffnen oder hat vielleicht jemand ein fertiges Makro dafür?

Danke und Grüße

Content-ID: 611182

Url: https://administrator.de/contentid/611182

Ausgedruckt am: 24.11.2024 um 18:11 Uhr

146189
Lösung 146189 08.10.2020 aktualisiert um 17:14:28 Uhr
Goto Top
Mit Button an das MailItem Ribbon geklebt:
Sub RunAllAttachmentsOfCurrentInspector()
    Set objShell = CreateObject("Wscript.Shell")  
    With ActiveInspector.CurrentItem
        For Each att In .Attachments
            strPath = Environ("TEMP") & "\" & att.FileName  
            att.SaveAsFile strPath
            objShell.Run """" & strPath & """", 1, False  
        Next
    End With
End Sub
LeeX01
LeeX01 08.10.2020 um 17:22:33 Uhr
Goto Top
Hallo Window,

das funktioniert wunderbar wenn die Mail geöffnet ist. Wäre das zusätzlich auch möglich wenn die Mail in der Liste nur markiert ist?

Vielen Dank und Grüße
146189
146189 08.10.2020 um 18:49:03 Uhr
Goto Top
Zitat von @LeeX01:
das funktioniert wunderbar wenn die Mail geöffnet ist. Wäre das zusätzlich auch möglich wenn die Mail in der Liste nur markiert ist?
Ja.
LeeX01
LeeX01 08.10.2020 um 18:52:34 Uhr
Goto Top
Zitat von @146189:

Zitat von @LeeX01:
das funktioniert wunderbar wenn die Mail geöffnet ist. Wäre das zusätzlich auch möglich wenn die Mail in der Liste nur markiert ist?
Ja.

Damit aber nicht, da kommt eine Fehlermeldung. Kannst du mir sagen was ich ändern muss?
146189
Lösung 146189 08.10.2020 aktualisiert um 18:56:18 Uhr
Goto Top
Zitat von @LeeX01:
Damit aber nicht
Logisch muss man ja auch anpassen.
, da kommt eine Fehlermeldung. Kannst du mir sagen was ich ändern muss?
Sub RunAllAttachmentsFromSelection()
    Set objShell = CreateObject("Wscript.Shell")  
    If ActiveExplorer.Selection.Count > 0 Then
        For Each itm In ActiveExplorer.Selection
            For Each att In itm.Attachments
                strPath = Environ("TEMP") & "\" & att.FileName  
                att.SaveAsFile strPath
                objShell.Run """" & strPath & """", 1, False  
            Next
        Next
    End If
End Sub
LeeX01
LeeX01 08.10.2020 um 23:05:40 Uhr
Goto Top
Hi Window,

Auch das funktioniert, danke. Jetzt hätte ich mir gerne noch eine Funktion geschrieben welche erkennt ob ich mich in der Mailliste wie z.B. Inbox befinde oder es aus einer geöffneten Mail starte und dann die jeweils Funktion ausführt. Habe leider nichts passendes gefunden und von VBA verstehe ich leider (nicht mehr) allzu viel, würdest du mir nochmal helfen?

VG
146189
Lösung 146189 09.10.2020 aktualisiert um 08:28:18 Uhr
Goto Top
Ah ja, mal wieder Wunschkonzert, hättest auch einfach einen Button auf das Main Ribbon legen können für die Liste, und einen anderen in das spezifische Ribbon des Mail Inspectors das für die geöffnete Mail jeweils verlinkt auf das entsprechende Makro, denn so weiß das Makro ja nicht ob z.B. ein Inspector der im Hintergrund geöffnet ist gemeint ist oder die Auswahl im Explorer wenn es beides gibt.
Sub RunAllAttachmentsFromAnywhere()
    Set objShell = CreateObject("Wscript.Shell")  
    If Application.Inspectors.Count > 0 then
        For Each att In ActiveInspector.CurrentItem.Attachments
            strPath = Environ("TEMP") & "\" & att.FileName  
            att.SaveAsFile strPath
            objShell.Run """" & strPath & """", 1, False  
        Next
    Else
      If ActiveExplorer.Selection.Count > 0 Then
        For Each itm In ActiveExplorer.Selection
            For Each att In itm.Attachments
                strPath = Environ("TEMP") & "\" & att.FileName  
                att.SaveAsFile strPath
                objShell.Run """" & strPath & """", 1, False  
            Next
        Next
      End If
    End if
End Sub
Ich bin dann jetzt raus.