OutLook会议室预定提醒
项目组采用敏捷开发管理,每两周一个迭代。写个工具做会议室预定。
代码下载: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[0]; 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[1]); 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(3000); 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; } }
界面预览: