); returnDoc; } 2)定位到书签 插入书签后,就可以通过操作插入点使光标从文档的其他位置跳转到书签标记的位置,这里将用到Selection对象的GoTo方法,代码如下: privatevoidGotoBookmark(DocumentDoc,stringNameStr) { objectobjWhat=WdGoToItem.wdGoToBookmark;; objectobjWhich=WdGoToDirection.wdGoToPrevious; objectobjMissing=Missing.Value; objectobjName=(object)NameStr; Doc.Bookmarks.get_Item(refobjName); } 3)在书签处插入值,可以分三种情况:插入单个值,插入多个值,插入文件。代码分别如下: 在书签处插入单个值: publicvoidInsertBookmarkValue(DocumentDoc,stringNameStr,stringValueStr,stringMsgStr) { Rangerng; objectobjName=(object)NameStr; if(Doc.Bookmarks.Exists(NameStr)) { rng=Doc.Bookmarks.get_Item(refobjName).Range;; rng.Text=ValueStr; } else { _Errors.Add("无法写入:"+MsgStr); } } 在书签处插入多个值: publicvoidInsertBookmarkValue(DocumentDoc,stringNameStr,ArrayListValueArr,stringMsgStr) { Rangerng; objectobjName=(object)NameStr; if(Doc.Bookmarks.Exists(NameStr)) { foreach(stringsinValueArr) { rng=Doc.Bookmarks.get_Item(refobjName).Range;; rng.Text=s; }} else { _Errors.Add("无法写入:"+MsgStr); }} 在书签处插入文件: publicvoidInsertBookmarkFile(DocumentDoc,stringNameStr,stringFileNameStr,stringMsgStr) { Rangerng; objectobjName=(object)NameStr; objectobjMissing=Missing.Value; if(Doc.Bookmarks.Exists(NameStr)) { rng=Doc.Bookmarks.get_Item(refobjName).Range;; rng.InsertFile( FileNameStr, refobjMissing, refobjMissing, refobjMissing, refobjMissing ); }else { _Errors.Add("无法写入:"+MsgStr); }} 4)关闭文件 finally { _App.Quit( refobjMissing,//SaveChanges refobjMissing,//OriginalFormat refobjMissing//RoutDocument ); _App=null; } 第四步,运行程序生成文档,并查看生成的文档。 4小结 随着计算机技术的普及和发展,将上述Word文档自动导出模块应用于试题库随机组卷抽卷系统,实现Word文档格式的规范化,效果较理想。并按一定的原则规划和建设试题库,使用计算机软件系统管理试题库,保证了考试这一主要教学评价手段的科学性、规范性、可靠性和有效性,为提高教学质量,改进教学活动提供了有力支持。 参考文献: [1]鲁保玉,杨新芳.用Delphi生成Word报告及动态结构表格[J].计算机应用与软件,2007,24(3):180-183. [2]车晓波,王知学,王磊.在实现Word自动化操作中书签的应用[J].信息技术,2013(8):148-150. [3]熊瑜容,柴毅,王淑娟.基于VC++的Word文档自动生成技术[J].ComputerEra,2010(1):52-54. [4]李凌露.VC++开发文档自动化生成系统[J].中国电力教育,2007(1):219-221. [5]舒谷生.试题库基于Word标签定义试题的策略[J].湖南城市学院学报,2012,21(3):72-74. [6]刘东玉,尹照武,邱超.基于WordVBA的文档规范化软件设计与实现.软件导刊[J].2008,7(11):25-27. |