Сохранить одно событие в несколько календарей Outlook - PullRequest
1 голос
/ 14 июля 2010

У меня есть несколько календарей Outlook. Я хочу иметь возможность создать одно событие и сохранить его в каждом календаре без необходимости копировать и вставлять его в каждый календарь.

Есть идеи, если это возможно / как это можно сделать?

1 Ответ

0 голосов
/ 14 июля 2010

Полагаю, поскольку вы писали в SO, а не в SU, вам нужно программное решение. Я не очень разбираюсь в этом вопросе, но, надеюсь, это поможет вам начать.

Вот как создать новую встречу ( из OutlookCode.com )

//First thing you need to do is add a reference to Microsoft Outlook 11.0 Object Library. Then, create new instance of Outlook.Application object: 

Outlook.Application outlookApp = new Outlook.Application (); 

//Next, create an instance of AppointmentItem object and set the properties: 

Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem) outlookApp.CreateItem (Outlook.OlItemType.olAppointmentItem);

oAppointment.Subject = "This is the subject for my appointment"; 
oAppointment.Body = "This is the body text for my appointment"; 
oAppointment.Location = "Appointment location"; 

// Set the start date
oAppointment.Start = Convert.ToDateTime ("10/10/2004 10:00:00 AM");
// End date 
oAppointment.End = Convert.ToDateTime ("10/10/2004 2:00:00 PM");
// Set the reminder 15 minutes before start
oAppointment.ReminderSet = true; 
oAppointment.ReminderMinutesBeforeStart = 15; 

//Setting the sound file for a reminder: 
set ReminderPlaySound = true 
//set ReminderSoundFile to a filename. 

//Setting the importance: 
//use OlImportance enum to set the importance to low, medium or high

oAppointment.Importance = Outlook.OlImportance.olImportanceHigh; 

/* OlBusyStatus is enum with following values:
olBusy
olFree
olOutOfOffice
olTentative
*/
oAppointment.BusyStatus = Outlook.OlBusyStatus.olBusy; 

//Finally, save the appointment: 

// Save the appointment
oAppointment.Save (); 

// When you call the Save () method, the appointment is saved in Outlook. Another useful method is ForwardAsVcal () which can be used to send the Vcs file via email. 

Outlook.MailItem mailItem = oAppointment.ForwardAsVcal (); 
mailItem.To = "recipients email address"; 
mailItem.Send ();

Чтобы получить ссылку на календарь, вам нужно что-то вроде этого:

Outlook.MAPIFolder MyCalendar = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);
...