2

我不太了解 MS Office VBA。我在 word 文件中有大量(字面意思)测验问题。

任务是为学生创建试卷。Word 文件包含按章节分类的 900 个测验问题。下面是一个word文件的结构:

H1: Chapter Name
H2: Level-1 questions
li: Questsions (numbered list)
H3: Answer key to Level-1 questions
li: Answers to level-1 questions (numbered list)
H2: Level-2 questions
H3: Answer key to level-2 questions
li: Answers to level-2 questions (numbered list)

H1: Another Chapter Name
...
...

我想从我的问题库中随机生成测试(其他单词文件)。几个条件是:

  1. 必须从每个章节和每个级别中选择至少 1 个问题。
  2. 已经选择的问题不能被选择到任何其他测试中。

此外,必须为生成的测试生成答案键。

问题:

  1. 对 Office VBA 的期望是否过高?或者可以做到吗?
  2. 怎么做?我需要调查什么?

我不知道该做什么或如何进行。

4

1 回答 1

0

老实说……在 MS Word 中使用 VBA 会很折磨人…… ;(

还有更高效的工具……你需要有一个数据库来存储问题、用户的答案和正确的答案。然后你需要编写提供伪随机抽奖系统的应用程序(见第二个条件:已经选择的问题不能被选择到任何其他测试中。

示例代码:

当然,您可以将 MS Word 文档视为“数据库”,但代码实现会非常困难。我是这样看的:

  1. 逐段阅读
  2. 检测格式
    • 如果格式为标题 1,则将文本添加到章节的集合(或者数组或字典)中
    • 如果格式为标题 2,则将文本添加到问题集合中
    • 等等...对于答案和正确答案
  3. 遍历章节集合并随机选择问题
  4. 将章节和问题保存到其他文件中,直到未达到问题数
  5. 返回点号。3 直到测验/考试计数未达到

结论:忘记 VBA,选择 .NET 编程语言(C#、VB.NET)或使用免费的在线解决方案(例如:互联网测验数据库)。

于 2014-01-08T19:48:13.087 回答