2012-04-03 2 views
3

Я пытаюсь получить идентификаторы содержимого вложений почты в Outlook. Я использую Add-In Express для своей надстройки, но у нее нет функции для ее получения.Get Attachment ContentID

Я знаю библиотеку Redemption, но это не бесплатно и, следовательно, не вариант для меня.

В Outlook 2007+ есть PropertyAccessor, который должен мне разрешить, но я не могу заставить его работать.

Вот мой код:

string uniqueId = ""; 
object props = a.GetType().InvokeMember("PropertyAccessor", BindingFlags.Public | BindingFlags.GetField | BindingFlags.GetProperty, null, a, null); 
object[] args = new object[1]; 
args[0] = @"urn:schemas:mailheader:content-id"; 
object value = props.GetType().InvokeMember("GetProperty", BindingFlags.Public | BindingFlags.InvokeMethod, null, props, args); 
if ((string)value != null) { 
    uniqueId = (string)value; 
} 

«а» вложение получил от Надстройка Экспресс MailItem.

Он просто выбрасывает следующее исключение: «Исключение было выбрано целью вызова».

Может кто-нибудь мне помочь?

ответ

0

Я тоже попробовал ваш URN, и это не сработало.

Использование DASL, это работает: http://schemas.microsoft.com/mapi/proptag/0x3712001F

Перспективы Spy имеет бесплатный пробный период. Я загрузил бы это тем временем (где я нашел это значение). И даже когда он истекает, этот ценный инструмент меньше, чем сам Искупление.