VBOffice

Emails zum gleichen Thema suchen

Per VBA mit einem Klick alle Emails zum gleichen Thema suchen.

Zuletzt geändert: 26.01.2017 | Aufrufe: 37.711  | #153
◀ Vorheriges Beispiel Nächstes Beispiel ▶

Inhalt

Category-Manager Category-Manager
Mit dem Category-Manager können Sie Outlook Kategorien gruppieren, synchronisieren und filtern, neuen Emails automatisch die Kategorie des Absenders zuweisen und vieles mehr. Das Addin ist auch für IMAP geeignet.

Suche nach Betreff

Über Rechtsklick auf eine Email, 'Alle Suchen' können Sie Emails vom gleichen Absender oder zum gleichen Thema suchen. Dieses Beispiel zeigt, wie Sie das mit VBA selber bauen können. Unter 'ViewName' können Sie einen beliebigen Namen für die Ansicht vergeben.


tip  So fügen Sie Makros in Outlook ein
Public Sub SubjectFilter()
  Dim Folder As Outlook.MAPIFolder
  Dim obj As Object
  Dim Mail As Outlook.MailItem
  Dim View As Outlook.View
  Dim Find As String, DASL As String
  Dim Filter As String
  Dim ViewName As String
  Dim Created As Boolean
  
  'Name Ihrer benutzerdefinierten Ansicht
  ViewName = "Mein-Filter"
  
  Set obj = Application.ActiveExplorer.Selection(1)
  
  If Not TypeOf obj Is Outlook.MailItem Then
    'Dieses Beispiel ist nur für Emails
    Exit Sub
  End If
  
  Set Mail = obj
  Set Folder = Mail.Parent
  
  '[Feld] = [Eigenschaft]
  Filter = "#0 = '#1'"
  
  'DASL-Name der zu suchenden Eigenschaft
  DASL = "http://schemas.microsoft.com/mapi/proptag/0x0037001F"
  
  'Zu suchender Wert
  Find = Mail.Subject
  
  'Ansicht finden bzw. erstellen
  Set View = Folder.CurrentView
  If LCase$(View.Name) <> LCase$(ViewName) Then
    Set View = Folder.Views(ViewName)
    If View Is Nothing Then
      Set View = Folder.Views.Add(ViewName, olTableView, olViewSaveOptionAllFoldersOfType)
      Created = True
    End If
  End If
  
  'Filter setzen
  DASL = Chr(34) & DASL & Chr(34)
  Filter = Replace(Filter, "#0", DASL)
  Filter = "(" & Filter & ")"
  Filter = Replace(Filter, "#1", Find)
  
  View.Filter = Filter
  View.Apply
  If Created Then View.Save
End Sub
ReplyAll ReplyAll
Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten.

Suche nach einem Teilbegriff

Dieses Beispiel macht fast das gleiche, aber statt nach dem Betreff der ausgewählten Email zu suchen, wird nach einem Teilbegriff gesucht, den Sie eingeben.

Public Sub SubjectFilter2()
  Dim Folder As Outlook.MAPIFolder
  Dim View As Outlook.View
  Dim Find As String, Dasl As String
  Dim Filter As String
  Dim ViewName As String
  Dim Created As Boolean
  
  'Name der benutzerdefinierten Ansicht
  ViewName = "Mein-Filter"
  
  Set Folder = Application.ActiveExplorer.CurrentFolder
  
  '[Feld] = [Eigenschaft]
  Filter = "#0 like '%#1%'"
  
  'DASL-Name der zu suchenden Eigenschaft
  Dasl = "http://schemas.microsoft.com/mapi/proptag/0x0037001F"
  
  'Zu suchender Wert
  Find = InputBox("Suche:")
  
  'Ansicht finden bzw. erstellen
  Set View = Folder.CurrentView
  If LCase$(View.Name) <> LCase$(ViewName) Then
    Set View = Folder.Views(ViewName)
    If View Is Nothing Then
      Set View = Folder.Views.Add(ViewName, olTableView, olViewSaveOptionAllFoldersOfType)
      Created = True
    End If
  End If
  
  'Filter setzen
  Dasl = Chr(34) & Dasl & Chr(34)
  Filter = Replace(Filter, "#0", Dasl)
  Filter = "(" & Filter & ")"
  Filter = Replace(Filter, "#1", Find)
  
  View.Filter = Filter
  View.Apply
  If Created Then View.Save
End Sub
Reporter Reporter
Mit dem Reporter erstellen Sie Berichte für Ihre Outlook Daten. Mit wenigen Klicks werden Werte aus Aufgaben, Terminen und dem Journal summiert.

Filter löschen

Und so können Sie schnell den aktuellen Filter wieder löschen:

Public Sub RemoveFilter()
  Dim Folder As Outlook.MAPIFolder
  Dim View As Outlook.View
  
  Set Folder = Application.ActiveExplorer.CurrentFolder
  Set View = Folder.CurrentView
  View.Filter = ""
  View.Apply
End Sub
Category-Manager Category-Manager
Mit dem Category-Manager können Sie Outlook Kategorien gruppieren, synchronisieren und filtern, neuen Emails automatisch die Kategorie des Absenders zuweisen und vieles mehr. Das Addin ist auch für IMAP geeignet.
email  Senden Sie eine Nachricht