Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将outlook电子邮件内容(包含图像、文本、表格等)复制到microsoft word文档_C#_Asp.net_Outlook - Fatal编程技术网

C# 将outlook电子邮件内容(包含图像、文本、表格等)复制到microsoft word文档

C# 将outlook电子邮件内容(包含图像、文本、表格等)复制到microsoft word文档,c#,asp.net,outlook,C#,Asp.net,Outlook,我想使用outlook电子邮件查看邮件内容。假设我有一些格式化的内容,其中包含图像、表格、颜色、大小等。现在我想将所有这些内容复制/粘贴到一个microsoft word文档中,并与outlook电子邮件中的内容对齐 这是密码 Microsoft.Office.Interop.Outlook.Application app = null; Microsoft.Office.Interop.Outlook._NameSpace ns = null;

我想使用outlook电子邮件查看邮件内容。假设我有一些格式化的内容,其中包含图像、表格、颜色、大小等。现在我想将所有这些内容复制/粘贴到一个microsoft 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);

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

您可以在MSDN中阅读有关处理实体的所有可能方法


您还可以使用传递olDoc值作为第二个参数的方法保存项目。

Microsoft outlook内部使用MS Word interop editor编辑电子邮件内容。你可以直接使用它,想怎么保存就怎么保存。我已经使用了interop,并获得了所有的html,但图像不在那里。请提供将内容保存到ms word文档的代码。是否可以在此处发布您的代码?代码如上。谢谢,您只需调用MailItem的SaveAs方法将内容保存到文档文件中,如-item.SaveAsYour文件路径,Microsoft.Office.Interop.Outlook.OlSaveAsType.olDoc;我已将outlook内容保存在word文件中。现在,我想将一些特定数据从该word文件复制到另一个ms word文件中;var originalText=originalDocument.ActiveWindow.Selection;var newDocument=新的MSWord.Document;newDocument.Range.Text=originalText.Text;