VBOffice

Termin per E-Mail bestätigen

So senden Sie mit einem Klick eine Termin-Bestätigung an die mit dem Termin verknüpften Personen.

Zuletzt geändert: 24.08.2010 | Aufrufe: 37.593  | #83
◀ Vorheriges Beispiel Nächstes Beispiel ▶
OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.

Dieses Beispiel zeigt,

  • wie Sie ab Outlook 2007 eine eigene Schaltfläche für das Kontextmenü erstellen und
  • wie Sie auf den Kontakt zugreifen können, der mit einem Termin verknüpft ist.

Das Kontextmenü wird angezeigt, wenn Sie mit rechts auf einen Termin im Kalender klicken. Das Beispiel erstellt eine E-Mail mit dem Betreff des Termins und bestätigt den vereinbarten Zeitpunkt. Wenn Sie im Kontaktformular unten unter Kontake einen Kontakt eingetragen haben, dann wird die E-Mail gleich an diesen Kontakt adressiert.

Im Quelltext finden Sie zwei Stellen, die mit dem Kommentar Edit versehen sind. Dort können Sie die Beschriftung der Schaltfläche sowie den Betreff und den Text der E-Mail anpassen.


tip  So fügen Sie Makros in Outlook ein
Private WithEvents ConfirmAppointment As Office.CommandBarButton

Private Sub Application_ItemContextMenuDisplay(ByVal CommandBar As Office.CommandBar, _
  ByVal Selection As Selection)
  Dim obj As Object
  Dim Item As Outlook.AppointmentItem
  Dim Btn As Office.CommandBarButton
  Dim Caption$

    ' Edit
  Caption = "Termin bestätigen"

  If Selection.Count = 1 Then
    Set obj = Selection(1)
    If TypeOf obj Is Outlook.AppointmentItem Then
      Set Item = obj
      Set Btn = CommandBar.Controls.Add(msoControlButton, , , , True)
      Btn.Style = msoButtonCaption
      Btn.Caption = Caption
      Btn.Parameter = Item.EntryID
      Set ConfirmAppointment = Btn
    End If
  End If
End Sub

Private Sub ConfirmAppointment_Click(ByVal Ctrl As Office.CommandBarButton, _
  CancelDefault As Boolean)
  Dim Appt As Outlook.AppointmentItem
  Dim Mail As Outlook.MailItem
  Dim Link As Outlook.Link
  Dim Contact As Outlook.ContactItem
  Dim Message$, StartTime$, Recipient$, Subject$
  Dim EntryID$

  EntryID = Ctrl.Parameter
  If Len(EntryID) Then
    Set Appt = Application.Session.GetItemFromID(EntryID)
  End If

  If Not Appt Is Nothing Then
    Set Mail = Application.CreateItem(olMailItem)

    If Appt.Links.Count Then
      Set Link = Appt.Links(1)
      If Not Link.Item Is Nothing Then
        Set Contact = Link.Item
        If Not Contact Is Nothing Then
          Recipient = Contact.Email1Address
        End If
      End If
    End If

    ' Edit
    Subject = "Bestätigung: " & Appt.Subject
    Message = "Hiermit bestätige ich folgenden Termin: "

    StartTime = Format(Appt.Start, "dddd, dd. mmm yyyy hh:nn", vbUseSystemDayOfWeek, vbFirstFourDays)
    Message = Message & vbCrLf & StartTime

    Mail.To = Recipient
    Mail.Subject = Subject
    Mail.Display
    Mail.Body = Message & Mail.Body
  End If

  Set ConfirmAppointment = Nothing
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