0

我希望能够在我的程序中内联回复电子邮件,但调用回复功能似乎只为我填写收件人:和主题:字段。我似乎无法在网上找到任何关于它的信息,而且它似乎没有打开内联回复的过载。

我发现每个 MailItem 都有一个对话,所以我想知道是否必须手动进行内联回复?(我真的很想避免这种情况,重复对话会很痛苦,我们中的一些人可能有数百封电子邮件)。

4

2 回答 2

0

我发现这段代码有助于实现这一点;

Document oldDoc = itemToReplyTo.GetInspector.WordEditor;
Document newDoc = newMailItem.GetInspector.WordEditor;

if (oldDoc != null)
{
    Microsoft.Office.Interop.Word.Selection oldSelect = oldDoc.Windows[1].Selection;
    Microsoft.Office.Interop.Word.Selection newSelect = newDoc.Windows[1].Selection;

    oldSelect.Find.Execute("From:");
    oldSelect.Collapse(WdCollapseDirection.wdCollapseStart);
    oldSelect.MoveEnd(WdUnits.wdStory, 1);
    oldSelect.Copy();

    newSelect.Move(WdUnits.wdStory, 1);
    newSelect.InlineShapes.AddHorizontalLineStandard();
    newSelect.Paste();
    newSelect.Move(WdUnits.wdStory, -1);
    newSelect.InsertAfter("Reply Text here");
    newSelect.Find.ClearFormatting();
    newSelect.Find.Execute(mailItem.SenderEmailAddress);
}
于 2013-03-25T02:04:35.297 回答
0

我尝试了以下方法,它使用 Outlook 2010 对我有用。

                        Outlook.MailItem reply1 = mailItem.Reply();                           
                        //prepend text to email
                        reply1.HTMLBody = "<html><body><strong>Test Body</strong><p><p></body></html>" + reply1.HTMLBody;
                        reply1.Display(false); //display message or .Send() to send
于 2015-01-23T22:26:31.007 回答