2012-02-07 105 views
4

我想强调的电子邮件的正文中的一些文字,然后点击东西(工具栏按钮等)如何使用Outlook插件2007和VSTO C#

Outlook.Application myApplication = Globals.ThisAddIn.Application; 
       Outlook.Explorer myActiveExplorer = (Outlook.Explorer)myApplication.ActiveExplorer(); 

       Outlook.Selection selection = myActiveExplorer.Selection; 

       if (selection.Count == 1 && selection[1] is Outlook.MailItem) 
       { 
        Outlook.MailItem mail = (Outlook.MailItem)selection[1]; 

        mail.Copy(); // currently opened mail 

        Outlook.MailItem mailItem = (Outlook.MailItem) 
       myApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); 

        mailItem.Subject = mail.Subject; 
        mailItem.To = mail.To; 

        mailItem.Body = ?????   // copy only selected text/images of user 

        mailItem.Importance = Outlook.OlImportance.olImportanceLow; 
        mailItem.Display(true); 
       } 
得到选择在的MailItem体

在mailITem.Body上,我只想从所选邮件(//当前打开的邮件)中粘贴所选用户的文本/图像。 我该如何实现它,我找不到粘贴方法。 请告诉我所选项目并将其存储到SQL Server数据库

回答

4

前景无法得到在邮件正文中选定的文本,所以后市转换为Word编辑器,这样你就可以按照3个步骤

1. get the mail total body 
2. use the word editor based on the **microsoft.office.Interop.word** dll 
3.select the text and to store the any string 

的代码先添加dll引用

object oItem; 
Outlook.Application oApp=new Outlook.Application(); 
Outlook.Explorer oExp=oApp.ActiveExplorer(); 
Outlook.Selection oSel= oExp.Selection; 
for (i = 1; i <= oSel.Count; i++) 
       { 
        oItem = oSel[i]; 
     Outlook.MailItem oMail = (Outlook.MailItem)oItem; 
Outlook.Inspector inspector = oMail.GetInspector; 

      // Obtain the Word.Document object from the Inspector object 
      Microsoft.Office.Interop.Word.Document document = (Microsoft.Office.Interop.Word.Document)inspector.WordEditor; 
mailItem.Body = document.Application.Selection.Text; 
} 

我认为这是帮助全

相关问题