操作Word试卷的一种算法论文_谈云康 瞿荣华 李 娟 尹小辉

操作Word试卷的一种算法论文_谈云康 瞿荣华 李 娟 尹小辉

四川管理职业学院 四川成都 611732

【摘 要】为了实现对试题进行程序化编制,需要操作Word文档。本文试验并给出了一种算法,可以实现用软件操作Word文档的目的。

【关键词】自动化组卷;Word文档的组织;组卷算法

1.引言

利用网络平台进行在线考试时,经常需要重新对试题进行组织。为了实现自动化组题,多数课题基于传统的数据库组卷系统进行研究。

研究的对象大多数是建立在试题库的基础上通过选题、组题和组卷算法而实现组卷。为了实现对试卷进行程序化编制,本文试验并给出了一种操作Word文档的算法,达到组卷的目的。

期刊文章分类查询,尽在期刊图书馆

2.合并Word文档算法的实现

下面是合并Word文档中的表格的主要代码,跳过表头和空行进行复制:

首先计算表的数目

intTables=docCopy.Tables.Count

'如果文档中至少有一张表格

Do While intTables>=1

With docCopy.Tables(intTables)'在 intTables表中

'在表格末尾添加新行

For Each rowTable In.Rows

'对每行单元格数组分配空间

intCells=rowTable.Cells.Count

'默认数组的下标从0开始

'DimstrCells(intCells),则声明了intCells+1个空间的数组

'读每行中的单元格

For Each celRow In rowTable.Cells

intI=celRow.ColumnIndex

'删除多余回车符

strCells(intI)=Replace(strCells(intI),ChrW(7),"",1,-1,vbBinaryCompare)

'删除单元格内结尾字符:

AscW(Right(strCells(intI),1))=7

'设置非空行标志strCells(0)

ElseIf strCells(intI)<>""Then

strCells(0)="NotEmptyLine"

End If

'复制行

If rowLast.Cells.Count<intCells Then

'在新行的末单元格写入复制表格所在的文件名

rowLast.Cells(rowLast.Cells.Count).Range.Text=_

Replace(docCopy.Name,strExtFileName,"",1,-1,vbBinaryCompare)

'写每行中的单元格

For Each celRow In rowLast.Cells

'因集合循环的下标从1开始,所以使用

数组索引从1开始较方便

intI=celRow.ColumnIndex

'列下标计数器

'注意输入数据行存储的数组下标是由数据列数和标志确定的

If intI>UBound(strCells)Then

'如果输入数组中的值已复制完,不再写入新行中

Exit For

End If

celRow.Range.Text=strCells(intI)

Next celRow

'设置格式:不加粗

rowLast.Range.Bold=False

End If

Next rowTable

'复制行

End With

intTables=intTables-1

Loop

'读表格的一行

3.结语

经过试验,使用这种算法,能得到我们所需要的结果试题。

参考文献:

[1]陈运财.在线考试系统中随机抽题算法研究[J].中小企业管理与科技.2009.(4):244.

[2]杨峰.基于遗传算法的试题库管理及自动组卷系统的研究[D].泰安:山东农业大学.2008.

[3]蒲静.岳森.傅饶.通用试卷生成系统的设计与实现[J].合肥:电脑知识与技术.2010.6(7):60.

[4]陈海波.陈虎.试卷生成与测试系统的设计与实现[DB/OL].https://wenku.baidu.com/view/4e72fb7cf46527 d3240ce0ad.html.

[5]李勇.基于决策支持技术的自动组卷系统研究[D].秦皇岛:燕山大学.2001.

中图分类号:TP301.6

文献标志码:A

注:本文属四川管理职业学院科研资助项目。

论文作者:谈云康 瞿荣华 李 娟 尹小辉

论文发表刊物:《成功》2018年第11期

论文发表时间:2019/7/5

标签:;  ;  ;  ;  ;  ;  ;  ;  

操作Word试卷的一种算法论文_谈云康 瞿荣华 李 娟 尹小辉
下载Doc文档

猜你喜欢