Поделиться через


Предложение пользователю ответить на приглашение на собрание

В этом примере показано, как пригласить пользователя ответить на приглашение на собрание и дать ему возможность отредактировать свой ответ перед отправкой.

Пример

Примечание.

Приведенный ниже пример кода представляет собой фрагмент из книги Программирование приложений для Microsoft Office Outlook 2007.

Метод Respond объекта AppointmentItem используется, чтобы уведомить организатора собрания о том, что приглашение на встречу принято, отклонено или добавлено в качестве эксперимента в календарь получателя. С помощью метода Respond можно указать, требуется ли отправить уведомление автоматически, либо разрешить пользователю изменять ответ перед отправкой. Метод Respond принимает три параметра. Параметр Response указывает, принят, отклонен или добавлен в календарь ответ. Параметры fNoUI и fAdditionalTextDialog принимают значения bool, которые указывают, будет ли ответ отправлен организатору и сможет ли пользователь изменить текст ответа перед отправкой соответственно.

В следующем примере кода PromptUserMeetingRequest перечисляет объекты MeetingItem, чтобы получить связанные объекты AppointmentItem, а затем вызывает метод Respond, где параметру fNoUI присвоено значение false, а параметру fAdditionalTextDialog — значение true. Это позволяет пользователю выбрать, отправить ли ответ, или отредактировать основной текст ответа перед отправкой.

Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void PromptUserMeetingRequest()
{
    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,
                false, true);
        }
    }
}

См. также