Deutsch
|
OLKeeper |
| OLKeeper reliably prevents users from closing their Outlook window and thus possibly missing reminders or e-mails. |
This example demonstrates
The context menu is being displayed when you right-click an appointment item in the calendar. The example creates an email with the subject of the appointment and confirms the date. If you have entered a contact at the bottom of the appointment form, the email is automatically addressed to this contact.
Please see the source code, there're two places commented with Edit where you can adjust the caption of the button as well as the subject and the body of the email.
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 = "Confirm Appointment"
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 = "Confirmation: " & Appt.Subject
Message = "Herewith I confirm the following appointment: "
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
|
SAM |
| Determine the "identity" of your emails. Set with SAM the sender and the folder folder for sent items with the help of rules. |