项目组采用敏捷开发管理,每两周一个迭代。写个工具做会议室预定。

代码下载:https://download.csdn.net/download/linmilove/10547579

AppointmentItem agendaMeeting = (AppointmentItem)new Microsoft.Office.Interop.Outlook.ApplicationClass().CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
agendaMeeting.MeetingStatus = OlMeetingStatus.olMeeting; agendaMeeting.Location = localtion[];
agendaMeeting.Subject = string.Format("{0} {1:yyyy-MM-dd} {2}", txtSubject.Text, dtpStart.Value, agendaMeeting.Location);
agendaMeeting.Body = txtBody.Text;
agendaMeeting.Start = dtpStart.Value;
agendaMeeting.End = dtpEnd.Value; Recipient recipient = agendaMeeting.Recipients.Add(localtion[]);
recipient.Type = (int)OlMeetingRecipientType.olRequired;
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
var match = regex.Matches(txtRecipients.Text);
foreach (System.Text.RegularExpressions.Match item2 in match)
{
agendaMeeting.Recipients.Add(item2.Value);
}
((_AppointmentItem)agendaMeeting).Send();
Thread.Sleep();
AppointmentItem appt = (new Microsoft.Office.Interop.Outlook.ApplicationClass()).Session
.GetDefaultFolder(OlDefaultFolders.olFolderCalendar).Items.Find(string.Format("[Subject]='{0}'", agendaMeeting.Subject)) as AppointmentItem;
if (appt != null)
{
bool isDeclined = false;
foreach (Recipient recip in appt.Recipients)
{
if (recip.Name.Contains("会议室") && recip.MeetingResponseStatus == OlResponseStatus.olResponseDeclined)
{
//预定失败
isDeclined = true;
break;
}
}
if (!isDeclined)
{
break;
}
}

界面预览:

OutLook会议室预定提醒-LMLPHP

05-22 08:47