Tipp 0388 Selektierte Mail(s) ermitteln
Autor/Einsender:
Datum:
  Angie
18.03.2004
Entwicklungsumgebung:   Outlook 2000
Mit der folgenden Prozedur können die in Outlook selektierten Mails ermittelt werden, dabei wird unterschieden, ob ein Explorer- oder ein Inspector-Objekt ausgewählt ist. Das Explorer-Objekt steht für das Fenster, in dem der Inhalt des Ordners angezeigt wird (mit jedem Ordner ist ein Explorer-Objekt verknüpft), das Inspector-Objekt ist jenes Fenster, in dem der Inhalt eines Ordnerelements angezeigt wird.
Aus dieser Prozedur heraus kann dann eine 2. Prozedur zum Bearbeiten der selektierten Mails aufgerufen werden, sei es um diese beispielsweise an eine vorgegebene Adresse weiterzuleiten, oder aber auch um die Mails und/oder Anhänge zu speichern.
 
Option Explicit

Public Sub GetSelectedMailItems()
  Dim objFolder     As MAPIFolder
  Dim objMailSel    As MailItem
  Dim objSelection  As Selection

  Select Case Application.ActiveWindow.Class
    Case olExplorer
        Set objFolder = Application.ActiveExplorer.CurrentFolder
        If objFolder.DefaultMessageClass = "IPM.Note" Then
          Set objSelection = Application.ActiveExplorer.Selection
          Select Case objSelection.Count
            Case 0
              MsgBox "Es sind keine Mails ausgewählt !"

            Case Else
              For Each objMailSel In objSelection
                DoSomething objMailSel
              Next
          End Select
          Set objSelection = Nothing

        Else
          MsgBox "Im Ordner '" & objFolder.Name & _
                "' sind keine Mails enthalten!"
        End If
        Set objFolder = Nothing

    Case olInspector
        With Application.ActiveInspector
          If .CurrentItem.Class = olMail Then
            Set objMailSel = .CurrentItem
            DoSomething objMailSel
            Set objMailSel = Nothing

          Else
            MsgBox "Es ist keine Mail aktiv !"
          End If
        End With

    Case Else
  End Select
End Sub

Private Sub DoSomething(ByVal objMailItem As MailItem)
  Debug.Print
  Debug.Print "Absender:       " & objMailItem.SenderName
  Debug.Print "Betreff:        " & objMailItem.Subject
  Debug.Print "Anzahl Anhänge: " & objMailItem.Attachments.Count
End Sub
 
Hinweis
Im Download befindet sich eine *.bas-Datei, die in Outlook im VB-Editor importiert werden kann.

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
Outlook-Version
95
98
2000
2002 (XP)
2003
2007
2010


Download  (2,2 kB) Downloads bisher: [ 921 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Freitag, 8. Juli 2011