想把WORD模板的内容(包括格式)用程序取出来,显示在编辑器里(如FreeTextBox里)来编辑WORD模板 用的代码如下
using System.Text;
using System.IO;
using Word;
using System.Reflection;
....
 string WordPhysicsPath = @"F:\WebSite1\test.doc";
        ApplicationClass app = new ApplicationClass();
        object fileName = WordPhysicsPath;
        object optional = Missing.Value;
        object visible = true;
        if (File.Exists(WordPhysicsPath))
        {
            Word.Document doc = app.Documents.Open(ref   fileName, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   optional, ref   visible, ref   optional, ref   optional, ref   optional);
            object first = 0;
            object units = WdUnits.wdCharacter;
            object last = doc.Characters.Count;            this.txtContent.Text = doc.Range(ref   first, ref   last).Text;
            object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
            object originalFormat = Missing.Value;
            object routeDocument = Missing.Value;
            app.Quit(ref   saveChanges, ref   originalFormat, ref   routeDocument);        }   
这样只是取到了文字内容,没有格式,怎么可以把WORD原样格式和内容显示在编辑器里呢?

解决方案 »

  1.   

    自己先顶哈哦
    要求word模板象html模板那样 可以在页面上编辑并保存模板~~~~~~~~~~,非要这样搞,俺也没法,直接下载修改,上传保存多好搞
      

  2.   

    还是把Word模板改成HTML模板,这样要好做得多。
      

  3.   

    但是客户只上传WORD模板,有很多,然后我要根据模板生成需要的WORD文件,如进行标签替换,然后再供下载查看,如果改成html模板,其实我也考虑过,关键是要下载啊,难到又要html转化成WORD
      

  4.   

    问题基本上算解决了,如上所说基本是达到了 要求word模板象html模板那样 可以在页面上编辑并保存模板的要求,首先客户上传很多的空WORD文档,只有文字说明,表格及下划线之类,当用户要编辑WORD模板时,如要添加一行XXX签字,对应的标签从系统提供中选择,如果系统没有,改程序是避免不了的(遇到这样情况很少),当然这种还是让客户先把空WORD模板下下来,改后再传上去,然后进入编辑页,把要替换的内容的地方打上标签(这个时候就和html的类似的,因为读出来的是原样的word内容格式),打玩标签后写回原来的空WORD模板就OK了,如果说客户只是某些地方想换标签(标签打错位置了),或是修改某些说明性文字,当然不用下载空的WORD模板,只需在编辑页修改并保存就行了,当然如果客户下载空模板改过后,再上传,那么所有的标签是从新来打过的,标签是不让客户自定义的,我们自己维护标签,其实目前网上空间里的各种各样的模板,有哪个是让你自己可以改标签,一改就没内容显示了,程序不知道了,呵呵. 说了半天没说重点,关键是怎么把word模板的格式及内容一点不漏的显示在编辑器里呢,因为WORD文档看不到HTML的格式,在编辑加载的时候,先根据原来WORD模板生成了一个网页,显示出来的效果和WORD是一样的,只不过是HTML页面,这个时候很清楚地看到格式了,把这些内容读到编辑器(我用的是FreeTextBox,只要是能编辑HTML代码的编辑器都行),编辑后保存,就象刚才说的写回原来的WORD模板.
    代码并不多 添加个interop.word.dll 一般都知道的,晚上整理下 贴出来,继续搞下
    谢谢各位关注!