2016-11-23 9 views
0
private void CreateEmailItem() 
{ 
    Object selObject = this.Application.ActiveExplorer().Selection[1]; 
    string sendernames = (selObject as Outlook._MailItem).SenderName; 
    Outlook._MailItem eMail = (Outlook._MailItem) 
    this.Application.CreateItem(Outlook.OlItemType.olMailItem); 
    eMail = selObject as Outlook._MailItem; 
    ((Outlook._MailItem)eMail).Body = "Approved"; 
    ((Outlook._MailItem)eMail).ReplyAll(); 
} 

Если мы вместо этого используем ((Outlook._MailItem) eMail) .Send(); его работа, но при использовании функции ReplyAll() ее не работает.Функция ReplyAll() не работает в Microsoft Outlook

ответ

1

ReplyAll - это функция, которая возвращает вновь созданный элемент. В приведенном выше коде игнорируется возвращаемое значение и устанавливается свойство Body на исходный элемент.

+0

Я хочу ответить всем как сообщение тела «УТВЕРЖДЕНО» на выбранный адрес электронной почты, есть ли способ сделать это? @Dmitry –

+0

да, это tis, что я говорю. ReplyAll возвращает новое сообщение. Установите тело и другие свойства на это новое возвращенное сообщение. –

+0

благодарит D за его работу, но есть небольшая проблема, не создавая цепочку писем. Можем ли мы это сделать? –

1

Нет необходимости создавать новый почтовый элемент с нуля. Вместо этого вы можете использовать элемент, который возвращается из метода ReplyAll. Таким образом, вы можете взять выделенный элемент в окне проводника и применить его к классу MailItem.

Object selObject = this.Application.ActiveExplorer().Selection[1]; 
Outlook._MailItem eMail = selObject as Outlook._MailItem; 
Outlook._MailItem reply = eMail.ReplyAll(); 

После того, как вы можете иметь дело с reply объекта и установить его свойства в соответствии с вашими потребностями.

Вы можете найти полезную статью How To: Respond to an Outlook email programmatically.