Автоматическое принятие приглашения на собрание
В этом примере показано, как автоматически принять приглашение на собрание с помощью метода Respond(OlMeetingResponse, Object, Object).
Пример
Примечание.
Приведенный ниже пример кода представляет собой фрагмент из книги Программирование приложений для Microsoft Office Outlook 2007.
Объект MeetingItem представляет запрос на добавление встречи, представленной объектом AppointmentItem, в календарь получателя. Чтобы ответить на приглашение на собрание, используйте метод GetAssociatedAppointment(Boolean) для получения объекта AppointmentItem, связанного с приглашением на собрание. Затем используйте метод Respond(OlMeetingResponse, Object, Object) объекта AppointmentItem, чтобы уведомить организатора собрания, было ли собрание принято, отклонено или предварительно добавлено в календарь получателя. Метод Respond принимает три параметра.
Параметр Response указывает, принят, отклонен или добавлен в календарь ответ. Параметры fNoUI и fAdditionalTextDialog являются значениями bool, определяющими соответственно, будет ли ответ отправлен и может ли пользователь изменять ответ. В следующем примере кода AutoAcceptMeetingRequests перечисляет все объекты MeetingItem, чтобы получить связанный объект AppointmentItem. Затем AutoAcceptMeetingRequests использует метод Respond с параметром fNoUI, равным true, чтобы показать, что ответ будет отправлен автоматически, чтобы принять приглашение на собрание.
Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.
using Outlook = Microsoft.Office.Interop.Outlook;
private void AutoAcceptMeetingRequests()
{
Outlook.MeetingItem mtgResponse;
Outlook.Folder folder = Application.Session.
GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
as Outlook.Folder;
string filter = "[MessageClass] = " +
"'IPM.Schedule.Meeting.Request'";
Outlook.Items items = folder.Items.Restrict(filter);
foreach (Outlook.MeetingItem request in items)
{
Outlook.AppointmentItem appt =
request.GetAssociatedAppointment(true);
if (appt != null)
{
mtgResponse = appt.Respond(
Outlook.OlMeetingResponse.olMeetingAccepted,
true, Type.Missing);
mtgResponse.Send();
}
}
}