VBOffice

Email zur Nachverfolgung kennzeichnen

So erstellen Sie per VBA eine Nachverfolgungskennzeichnung.

Zuletzt geändert: 17.10.2008 | Aufrufe: 25.555  | #71
◀ Vorheriges Beispiel Nächstes Beispiel ▶

Inhalt

OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.

Bis Outlook 2003

Kennzeichnen Sie auch Ihre E-Mails zur Nachverfolgung nach festen Regeln? Z.B. weniger dringendes oder privates für "heute abend"; nachsehen, ob der Kunde schon geantwortet hat, "nächste Woche" etc. Dieses VBA-Beispiel nimmt Ihnen dabei viele Mausklicks ab; gerade das Auswählen des Datums und der Uhrzeit erforderte ja sonst viel Zeit.

Im Beispiel gibt es drei Möglichkeiten, "heute abend" (19 Uhr), "morgen" (ebenfalls 19 Uhr) und "nächste Woche" (8 Uhr).

Für den Aufruf ziehen Sie über Rechtsklick auf Symbolleiste/Anpassen/Makro einfach die Makronamen auf die Symbolleiste.


tip  So fügen Sie Makros in Outlook ein
Public Enum FlagWhatEnum
  flNextWeek = 0
  flThisEvening = 1
  flTomorrow = 2
End Enum

Public Sub FlagNextWeek()
  FlagItem flNextWeek
End Sub

Public Sub FlagThisEvening()
  FlagItem flThisEvening
End Sub

Public Sub FlagTomorrow()
  FlagItem flTomorrow
End Sub

Private Sub FlagItem(FlagWhat As FlagWhatEnum)
  Dim Mail As Outlook.MailItem
  Dim obj As Object
  Dim Sel As Outlook.Selection
  Dim i&
  Dim dt As Date
  Dim tm As String
  Dim Icon As OlFlagIcon

  Select Case FlagWhat
  Case flNextWeek
    dt = DateAdd("d", 7, Date)
    tm = CStr(dt) & " 08:00"
    Icon = olOrangeFlagIcon
  Case flThisEvening
    dt = Date
    tm = CStr(dt) & " 19:00"
    Icon = olYellowFlagIcon
  Case flTomorrow
    dt = DateAdd("d", 1, Date)
    tm = CStr(dt) & " 08:00"
    Icon = olYellowFlagIcon
  End Select

  Set obj = Application.ActiveWindow
  If TypeOf obj Is Outlook.Explorer Then
    Set Sel = obj.Selection
    For i = 1 To Sel.Count
      Set obj = Sel(i)
      If TypeOf obj Is Outlook.MailItem Then
        Set Mail = obj
        Mail.FlagDueBy = tm
        Mail.FlagIcon = Icon
        Mail.Save
      End If
    Next
  Else
    Set obj = obj.CurrentItem
    If TypeOf obj Is Outlook.MailItem Then
      Set Mail = obj
      Mail.FlagDueBy = tm
      Mail.FlagIcon = Icon
      Mail.Save
    End If
  End If
End Sub
ReplyAll ReplyAll
Mit diesem Plugin erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten.

Ab Outlook 2007

Mit der neuen Todo-Bar in Outlook 2007 hat sich auch geändert, wie Emails zur Nachverfolgung gekennzeichnet werden. Deswegen unterscheidet sich der Code geringfügig gegenüber den Vorgängerversionen.

Public Enum FlagWhatEnum
  flNextWeek = 0
  flThisEvening = 1
  flTomorrow = 2
End Enum

Public Sub FlagNextWeek()
  FlagItem flNextWeek
End Sub

Public Sub FlagThisEvening()
  FlagItem flThisEvening
End Sub

Public Sub FlagTomorrow()
  FlagItem flTomorrow
End Sub

Public Sub FlagItem(FlagWhat As FlagWhatEnum)
  Dim Mail As Outlook.MailItem
  Dim obj As Object
  Dim Sel As Outlook.Selection
  Dim Item As Object
  Dim i&
  Dim dt As Date
  Dim tm As String
  Dim Icon As OlMarkInterval

  Select Case FlagWhat
  Case flNextWeek
    dt = DateAdd("d", 7, Date)
    tm = CStr(dt) & " 08:00"
    Icon = olMarkNextWeek
  Case flThisEvening
    dt = Date
    tm = CStr(dt) & " 19:00"
    Icon = olMarkToday
  Case flTomorrow
    dt = DateAdd("d", 1, Date)
    tm = CStr(dt) & " 08:00"
    Icon = olMarkTomorrow
  End Select

  Set obj = Application.ActiveWindow
  If TypeOf obj Is Outlook.Explorer Then
    Set Sel = obj.Selection
    For i = 1 To Sel.Count
      Set obj = Sel(i)
      If TypeOf obj Is Outlook.MailItem Then
        Set Mail = obj
        Mail.MarkAsTask Icon
        Mail.TaskStartDate = tm
        Mail.TaskDueDate = tm
        Mail.Save
      End If
    Next

  Else
    Set obj = obj.CurrentItem
    If TypeOf obj Is Outlook.MailItem Then
      Set Mail = obj
      Mail.MarkAsTask olMarkNextWeek
      Mail.TaskStartDate = tm
      Mail.TaskDueDate = tm
      Mail.Save
    End If
  End If
End Sub
SAM SAM
Legen Sie fest, mit welcher "Identität" Ihre Emails beim Empfänger erscheinen sollen. Mit SAM bestimmen Sie Absender, Signatur und Speicherort für Emails anhand von Regeln.
email  Senden Sie eine Nachricht