我正在使用VSTO开发一个Outlook加载项,用于在编写时检查邮件内容的拼写。 在回复邮件中,如何通过排除旧对话来仅检查回复内容? 这就是我现在正在做的。但我需要知道是否有任何适当的对象或方法来获取当前的回复内容。
Outlook.MailItem mailItem = inspector.CurrentItem as Outlook.MailItem;
string temp = mailItem.Body;
int target= temp.IndexOf("\r\nFrom:");
string contentToCheck= temp.Substring(0, target);
答案 0 :(得分:1)
没有内置属性表示新邮件的结束和正文中的回复开始。
可以做的是存储标记新消息结束的常用文本,并在读取正文时检查该消息。类似于'来自:','问候,' '谢谢,' ...
类似于:
while ((line = bodytext.ReadLine()) != null)
{
foreach(string ending in MYLISTOFCOMMONENDINGS)
{
if (line.StartsWith(ending))
return sb.ToString(); //we are done
//here sb is a string builder consuming new lines
}
//read the line and check spelling
}
答案 1 :(得分:0)
查找名为" _MailOriginal"的书签。下面的脚本在原始消息开始之前插入文本:
set objDoc = Application.ActiveInspector.WordEditor
If objDoc.Bookmarks.Exists("_MailOriginal") Then
' is there the original email? (_MailOriginal)
set objBkm = objDoc.Bookmarks("_MailOriginal")
Set objSel = objDoc.Application.Selection
objSel.Start = objBkm.Start-2 'give room for the line break before. It includes the line
objSel.End = objSel.Start
objSel.Text = "test"
End If