2016-10-05 2 views
0

나는 보너스를 사용하는 Outlook 추가 기능에서 일하고 있습니다. 추가 기능 기능의 일부는 사용자가 한 번에 여러 개의받는 사람을 메일 항목에 추가 할 수 있도록 허용하는 것입니다. Redemption의 rdoRecipients 개체에는이 영역에서 추가 기능의 성능을 향상시키는 "addmultiple"메서드가 포함되어 있습니다. 내 코드는 다음과 같습니다 (rdoSession이 이미 생성되었습니다) :RDOMail.Recipients.AddMultiple을 사용하여 Outlook mailitem을 열려고받는 사람을 추가하십시오.

Redemption.RDOMail rdoMail = null; 
Outlook.MailItem mailItem = (Outlook.MailItem)activeInspector.CurrentItem; 
if (mailItem != null) 
{ 
    mailItem.Save(); 

    rdoMail = mAddinModule.RdoSession.GetRDOObjectFromOutlookObject(mailItem); 

    List<object> toList = new List<object>(); 

    // some code populating toList 

    Array toRcps = toList.ToArray(); 

    rdoMail.Recipients.AddMultiple(toRcps, (int)Outlook.OlMailRecipientType.olTo); 
    rdoMail.Recipients.ResolveAll(); 
    rdoMail.Save(); 

} 

코드가 올바르게 실행됩니다. OutlookSpy를 사용하면 MAPI받는 사람 테이블에 올바른 주소가 포함되어 있음을 알 수 있습니다. 또한, 라인을 추가하면 rdoMail.Display(), 내가 올바른 주소가 표시와 함께 표시되는 새 mailitem을 얻을. 그러나 주소는 원래 Outlook mailitem에 표시되지 않습니다. 확장 MAPI 속성에 대한 변경 사항이 기존 메일 항목에 자동으로 반영되지 않는다고 생각합니다. 이러한 변경 사항을 표시하도록 메일 항목을 업데이트 할 수있는 방법이 있습니까?

답변

0

MailItem.UserProperties.Add을 사용하여 사용자 속성을 추가 한 다음 삭제하면 OOM에서 수신자 목록을 새로 고쳐야하는 것처럼 보일 수도 있습니다. OOM을 사용하여 항목을 표시하기 전에 이러한 접근 방식을 사용했기 때문에 운이 좋았습니다. 항목이 이미 표시되는 동안 작동하는지 여부를 알 수 없습니다.

+0

귀하의 빠른 응답, Dimitry에 많은 감사드립니다. 나는 당신이 제안한 접근법을 시도했다. 불행히도 새로 고침을 강요하지 않았습니다. 나는 다른 시도를하고 있으며, 효과가있는 것이 있으면 게시 할 것입니다. 그 동안에 다른 아이디어가 있으면 알려 주시기 바랍니다. –

+0

메시지가 표시되기 전에받는 사람을 추가 할 수 있으십니까? –

+0

사용자가받는 사람을 추가 할 수있는 컨트롤은 실제로 mailitem inspector 자체의 양식 영역에 포함되므로받는 사람을 추가하기 전에 메시지를 열어야합니다. –

관련 문제