我希望能够在我的程序中回复内联电子邮件,但是调用回复功能似乎只为我填写了To:和Subject:字段。我似乎无法在网上找到任何关于它的内容,并且它似乎没有过载启用内联回复。
我发现每个MailItem都有一个对话,所以我想知道我是否必须手动进行内联回复? (我真的想避免这种情况,通过对话进行迭代将是一种痛苦,我们中的一些可能会长达数百封电子邮件。)
答案 0 :(得分: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);
}
答案 1 :(得分: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