【原创】实现Word模板文件中的BookMark允许多次填写修改(含代码)

        由于项目的需要,要求实现根据Word模板文件中的BookMark位置填写指定信息,生成新的Word文档。这个新的Word文档在原来的BookMark位置要求能够允许多次填写和修改。
一般情况下:在BookMark位置填写信息是对BookMark.Range.Text 进行赋值操作。但是,一旦对Text进行赋值后,这个BookMark就被删除,消失了。生成的文档中就没有BookMark了。于是我采用如下技巧实现了项目的需要:在赋值后,在对应位置上给文档再新建一个BookMark。这样每次填写修改完毕后BookMark依然存在,问题就解决了。
                        #region Add by Luxh 2007.08.29
                        //bookMark 为书签名称Name
                        Bookmark curBookmark = wApp.ActiveDocument.Bookmarks.get_Item(ref bookMark);
                        string strOldName = curBookmark.Name;
                        Range oldrange = curBookmark.Range;
                        //replaceString 为需要在书签位置填写的信息字符串
                        oldrange.Text = replaceString;
                        object newBookmarkRange = (object)oldrange;
                        wApp.ActiveDocument.Bookmarks.Add(strOldName,ref newBookmarkRange);
                        #endregion
posted @ 2007-08-29 16:44  MichaeL  阅读(1292)  评论(1编辑  收藏  举报