Получение и назначение получателей для встречи с помощью диалогового окна "Выбор имен"
В этом примере показано, как с помощью диалогового окна Выбор имен получить получателей и назначить их элементу встречи.
Пример
Примечание.
Приведенный ниже пример кода взят из книги Programming Applications for Microsoft Office Outlook 2007 ("Программирование приложений для Microsoft Office Outlook 2007").
Чтобы отобразить диалоговое окно Выбор имен , вызовите метод Display() объекта SelectNamesDialog . После открытия окна Выбор имен выполнение кода приостанавливается до тех пор, пока пользователь не нажмет ОК или не закроет это окно. Чтобы задать начальные получатели для отображения в диалоговом окне или получить получателей, выбранных в диалоговом окне, используйте свойство Recipients объекта SelectNamesDialog . При этом возвращается коллекция Recipients , связанная с SelectNamesDialog. Чтобы добавить объект Recipient в коллекцию Recipients для SelectNamesDialog, используйте метод Add для коллекции и укажите свойство Type объекта Recipient .
В приведенном ниже примере кода метод DemoSelectNamesDialogRecipients создает объект AppointmentItem и задает ряд его свойств. Затем создается окно SelectNamesDialog и с помощью метода SetDefaultDisplayMode(OlDefaultSelectNamesDisplayMode) задается режим просмотра собрания для диалогового окна Выбор имен. В данном примере параметр Resource, помогающий выбрать получателей, заполняется строкой "Conf Room 36/2739". После показа пользователю диалогового окна код перечисляет элементы коллекции Recipients, связанной с данным экземпляром SelectNamesDialog, и добавляет этих получателей к созданной встрече. Напоследок пользователю показывается приглашение на собрание.
Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.
using Outlook = Microsoft.Office.Interop.Outlook;
private void DemoSelectNamesDialogRecipients()
{
Outlook.AppointmentItem appt = Application.CreateItem(
Outlook.OlItemType.olAppointmentItem)
as Outlook.AppointmentItem;
appt.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;
appt.Subject = "Team Morale Event";
appt.Start = DateTime.Parse("5/17/2007 11:00 AM");
appt.End = DateTime.Parse("5/17/2007 12:00 PM");
Outlook.SelectNamesDialog snd =
Application.Session.GetSelectNamesDialog();
snd.SetDefaultDisplayMode(
Outlook.OlDefaultSelectNamesDisplayMode.olDefaultMeeting);
Outlook.Recipient confRoom =
snd.Recipients.Add("Conf Room 36/2739");
// Explicitly specify Recipient.Type.
confRoom.Type = (int)Outlook.OlMeetingRecipientType.olResource;
snd.Recipients.ResolveAll();
snd.Display();
// Add Recipients to meeting request.
Outlook.Recipients recips = snd.Recipients;
if (recips.Count > 0)
{
foreach (Outlook.Recipient recip in recips)
{
appt.Recipients.Add(recip.Name);
}
}
appt.Recipients.ResolveAll();
appt.Display(false);
}