Скрыть CustomProperty при печати элемента Outlook - PullRequest
0 голосов
/ 24 мая 2018

Я пытался использовать код, размещенный здесь, чтобы скрыть или отключить печать настраиваемого свойства элемента Outlook, но при запуске я получаю эту ошибку:

{"Method" Needles.Infrastructure.Outlook.NeedlesCustomProperty. [DispID = 107] 'не найдено. "}

Свойство, которое я создаю, называется NeedlesCustomProperty.Я создаю это на всех типах объектов элемента Outlook Mail, Cal и Task.Код, который я использую:

var item = outlookApplication.GetItemFromID(entryid); //verified returns correct item 

var property = item.GetNeedlesUserPropertyValue(false); //verified returns the custom property I create

long printablePropertyFlag = 0x4; // PDO_PRINT_SAVEAS

string printablePropertyCode = "[DispID=107]";

Type customPropertyType = property.GetType();

object rawFlags = customPropertyType.InvokeMember(printablePropertyCode, 
    BindingFlags.GetProperty, null, property, null);

long flags = long.Parse(rawFlags.ToString());

flags &= ~printablePropertyFlag;

object[] newParameters = new object[] { flags };

customPropertyType.InvokeMember(printablePropertyCode, BindingFlags.SetProperty, 
     null, property, newParameters);

Есть мысли о том, что мне не хватает?

...