将Outlook电子邮件内容(包含图像,文本,表格等)复制到Microsoft Word文档

时间:2015-02-02 07:16:38

标签: c# asp.net outlook

我想使用Outlook电子邮件中的邮件内容。假设我有一些格式化的内容包含图像,表格,颜色,大小等。现在我想将所有这些内容复制/粘贴到一个微软word文档中,并在outlook电子邮件中正确对齐

这是代码

            Microsoft.Office.Interop.Outlook.Application app = null;
            Microsoft.Office.Interop.Outlook._NameSpace ns = null;
            Microsoft.Office.Interop.Outlook.MailItem item = null;
            Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null;
            Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null;
            try 
           {
              app = new Microsoft.Office.Interop.Outlook.Application();
              ns = app.GetNamespace("MAPI");
              ns.Logon(null,null,false, false);

              inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
              subFolder = inboxFolder.Folders[3]; 
              Console.WriteLine("Folder Name: {0}, EntryId: {1}", subFolder.Name, subFolder.EntryID);
              Console.WriteLine("Num Items: {0}", subFolder.Items.Count.ToString());

              for(int i=1;i<=subFolder.Items.Count;i++)
              {
                item = (Microsoft.Office.Interop.Outlook.MailItem)subFolder.Items[i];
                Console.WriteLine("Item: {0}", i.ToString());
                Console.WriteLine("Subject: {0}", item.Subject); 
               // Console.WriteLine("Sent: {0} {1}" item.SentOn.ToLongDateString(), item.SentOn.ToLongTimeString());
                Console.WriteLine("Categories: {0}", item.Categories);
                Console.WriteLine("Body: {0}", item.Body);
                Console.WriteLine("BodyFormat: {0}", item.BodyFormat);
                Console.WriteLine("HTMLBody: {0}", item.HTMLBody);
                Console.WriteLine("Attachment:{0}", item.Attachments.Count);

1 个答案:

答案 0 :(得分:0)

Outlook使用Word作为Outlook中的电子邮件编辑器。因此,您可以使用Word对象模型修改正文内容或直接将其复制到现有Word文档中。 Inspector类的WordEditor属性返回Document类的实例,该实例表示电子邮件的正文。

您可以在MSDN中的Chapter 17: Working with Item Bodies中了解使用正文的所有可能方法。

您也可以使用SaveAs方法保存项目,并将olDoc值作为第二个参数传递。