Introduction
I guess it isn't rocket science to put birthday reminders into Outlook, but nevertheless, doing it in C# code cost me more effort than it should have. So without further ado, here is the code.
Steps
1. Ensure you reference Microsoft Outlook, then create a new application.
Outlook._Application olApp =
(Outlook._Application) new Outlook.Application();
2. Log on. (I think email needs to be running)
Outlook.NameSpace mapiNS = olApp.GetNamespace("MAPI")
string profile = "";
mapiNS.Logon(profile, null, null, null);
3. Repeat the line.
CreateYearlyAppointment(olApp, "Birthday",
"Kim", new DateTime(2004, 03,08, 7, 0, 0));
for your wife and kids etc. etc.!!!
The Code
static void CreateYearlyAppointment(Outlook._Application olApp,
string reminderComment, string person, DateTime dt)
{
// Use the Outlook application object to create an appointment
Outlook._AppointmentItem apt = (Outlook._AppointmentItem)
olApp.CreateItem(Outlook.OlItemType.olAppointmentItem);
// set some properties
apt.Subject = person + " : " + reminderComment;
apt.Body = reminderComment;
apt.Start = dt;
apt.End = dt.AddHours(1);
apt.ReminderMinutesBeforeStart = 24*60*7 * 1; // One week reminder
// Makes it appear bold in the calendar - which I like!
apt.BusyStatus = Outlook.OlBusyStatus.olTentative;
apt.AllDayEvent = false;
apt.Location = "";
Outlook.RecurrencePattern myPattern = apt.GetRecurrencePattern();
myPattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearly;
myPattern.Interval = 1;
apt.Save();
}
0 comments:
Post a Comment