word添加html

Range.PasteSpecial方法

   最近在做一个文档自动化生成的项目,需要在 Rich Text Editor 中编辑信息,然后再将编辑生成的HTML内容插入到WORD文档中。查询了网上的相关内容,有人建议使用

Range.PasteSpecial(, , , ,WdPasteDataType.wdPasteHTML, ,)方法,该方法将以"HTML Format"的形式存储在剪贴板中的HTML内容粘贴到Word文档中,就像我们打开Word之后利用“复制”、“粘贴”一样的效果。

   但是,使用该方法运行时老报错:“指定的数据类型无效。”一直没有找到解决方法。

 

Range.InsertFile方法

   后来在网上又搜到了一种方法就是,将HTML内容保存到html文件中,然后使用

Range.InsertFile(filename,,,,)方法将HTML文件内容插入到WORD文档中。

   相关资料: 《Insert html formatted text into word document asp.net(C#)》 

   代码如下:

    app = new Microsoft.Office.Interop.Word.Application();
    object filename = @"c:\my.doc";
    doc = app.Documents.Open(ref filename, ref missing, ref missing, ref missing,

                             ref missing, ref missing, ref missing, ref missing,

                             ref missing, ref missing, ref missing, ref missing,

                             ref missing, ref missing, ref missing, ref missing);
    object mark = "content";

    Bookmark bookmark = word.Bookmarks.get_Item(ref mark);
    bookmark.Range.InsertFile(@"C:\test.html", ref missing, ref missing,

                              ref missing, ref missing);

 

    这种方式代码运行得很好,实现了预期目的。

posted @ 2012-09-14 01:13  ykingkong  阅读(1309)  评论(0编辑  收藏  举报