我正在使用Outlook加載項來處理電子郵件附件,方法是將它們放在服務器上,並將電子郵件地址放入電子郵件中。如何在發送之前更新Outlook郵件正文文本
一個問題是,將URL添加到電子郵件正文的末尾後,用戶的光標被重置爲電子郵件的開頭。
一個相關的問題是,我不知道光標在文本中的位置,所以我無法將我的URL插入到正確的位置。
下面是一些代碼,顯示我在做什麼,爲了簡單起見,代碼假定主體是純文本。
private void MyAddIn_Startup(object sender, System.EventArgs e)
{
Application.ItemLoad += new Outlook.ApplicationEvents_11_ItemLoadEventHandler(Application_ItemLoad);
}
void Application_ItemLoad(object Item)
{
currentMailItem = Item as Outlook.MailItem;
((Outlook.ItemEvents_10_Event)currentMailItem).BeforeAttachmentAdd += new Outlook.ItemEvents_10_BeforeAttachmentAddEventHandler(ItemEvents_BeforeAttachmentAdd);
}
void ItemEvents_BeforeAttachmentAdd(Outlook.Attachment attachment, ref bool Cancel)
{
string url = "A URL";
if (currentMailItem.BodyFormat == Outlook.OlBodyFormat.olFormatHTML)
{
// code removed for clarity
}
else if (currentMailItem.BodyFormat == Outlook.OlBodyFormat.olFormatRichText)
{
// code removed for clarity
}
else
currentMailItem.Body += attachment.DisplayName + "<" + url + ">";
Cancel = true;
}
http://stackoverflow.com/questions/38433898/c-sharp-outlook-how-can-i-get-the-cursor-position-在主題領域的一個馬 – stuartd