Есть ли способ сохранить свойства пользователя для календарей приглашений/мест назначения?C# Outlook Назначение Пользовательские свойства - Не сохраняются через календари/приглашения
Я создал область формы для встреч с некоторыми дополнительными полями формы. После события записи о назначении я могу сохранить данные области формы в качестве свойств пользователя по сравнению с назначением. С точки зрения отправителей эти свойства сохраняются, когда предмет открыт и может быть обновлен и т. Д.
Тем не менее, любые приглашенные на встречу или любые конференц-залы/места могут получить встречу, НО пользователь свойства, похоже, не переносятся с элементом. Почему это, и можно ли это работать?
Единственный, о котором я мог думать, - это также сохранить свойства пользователя в базе данных и загрузить их при открытии элемента с помощью метода FormRegion_Showing
. Это не идеальное решение, поскольку цель заключалась в том, чтобы сохранить все в мировоззрении.
Я использую Outlook 2010 и Visual Studio 2015.
я наткнулся на this post, которые в значительной степени говорит, что это не может быть сделано, однако, что это с 2011 года, и я не могу найти ничего более недавнее, релевантную к этому конкретному сценарию.
Некоторые сократить код - форма Регион:
// Form region class
[Microsoft.Office.Tools.Outlook.FormRegionMessageClass(Microsoft.Office.Tools.Outlook.FormRegionMessageClassAttribute.Appointment)]
[Microsoft.Office.Tools.Outlook.FormRegionName("Namespace.MyFormRegion")]
public partial class MyFormRegionFactory
{
}
private void MyFormRegion_FormRegionShowing(object sender, System.EventArgs e)
{
Outlook.AppointmentItem appointment = this.OutlookItem as Outlook.AppointmentItem;
this.appointment.Write += Appointment_Write;
}
private void Appointment_Write(ref bool Cancel)
{
Outlook.ItemProperties CateringData = this.appointment.ItemProperties;
var Serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Outlook.ItemProperty MeetingNameProperty = CateringData.Add("MeetingName", Outlook.OlUserPropertyType.olText, true);
MeetingNameProperty.Value = this.MeetingName.Text;
// More properties saved
appointment.Save();
}
и в классе надстройку:
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application.ItemSend += Application_ItemSend;
}
private void Application_ItemSend(object Appointment, ref bool Cancel)
{
// Appointment is an AppointmentItem that has just been saved.
// How does this relate to the outgoing item that ends up in the
// Sent Items folder???
}
}
с программой Outlook Spy свойства пользователь не в элементе в Отправленные. Область формы появляется при открытии элемента из одного из календарей приглашенных, но свойств пользователя там нет.
Вы отправляете между двумя почтовыми ящиками Exchange? Или через SMTP? –
Приглашенные пользователи являются внутренними, так что через один и тот же сервер обмена, я думаю. –
Прочитав немного с момента публикации этого вопроса, похоже, что установка ExtendedProperty на элементе с использованием EWS может быть способом сделать это? Предположительно, это было бы что-то вроде того, как привязать свойства к элементу после вызова AppointmentItem.Save в надстройке? –