【VBA研究】VBA做了个简单的试题生成工具

您所在的位置:网站首页 excel题库随机生成试卷函数怎么做的 【VBA研究】VBA做了个简单的试题生成工具

【VBA研究】VBA做了个简单的试题生成工具

2024-07-12 20:08:52| 来源: 网络整理| 查看: 265

作者:iamlasong

单位对新上岗的员工进行培训,培训结束后,需要进行考试,需要一个简单的考试系统,让新员工既可以自己练习,也可以进行测试,为此,我们做了一个题库,员工可以自己生成一套考题,测试自己的掌握程度,也可以集中起来进行考试,测试培训效果。

系统数据库很简单,主要有两个表,一个是题库,一个是成绩。

create table EMSAPP_TEST_QUESTION (   type                  CHAR(1),   id                    NUMBER(4),   question              VARCHAR2(400),   choice_a              VARCHAR2(200),   choice_b              VARCHAR2(200),   choice_c              VARCHAR2(200),   choice_d              VARCHAR2(200),   answer                VARCHAR2(8),   remark                VARCHAR2(20) ); create table EMSAPP_TEST_RESULT (   city                  VARCHAR2(10),   bureau_code           VARCHAR2(40),   bureau_name           VARCHAR2(40),   staff_code            VARCHAR2(10),   staff_name            VARCHAR2(10),   testdate              DATE,   score                 number(3) );

1、界面

分两块,考试部分和试题录入修改部分,下图是考试部分,上半部分是历史成绩查询工具,下半部分是试题生成和答案提交,生成的试题分别放在不同的工作表中,做完题目后提交答案,系统给出分数,同时,给出对错。

2、生成试题

生成的试题和标准答案都放在相应的工作表中,以便核对答案。

' 生成考试题 Public Sub get_question() ' On Error GoTo ErrMsg1: Dim i, j, k, tp, lineno As Integer Dim OraOpen As Boolean Dim RndNumber, TempRnd(20), Recno, Maxno As Integer Dim stName As String Worksheets("系统参数").Select For i = 7 To 11 If Len(Cells(i, 2)) < 3 Then msg = MsgBox("请填写完整揽投员信息后再生成试题!", vbOKOnly, "iamlaosong") Exit Sub End If Next i ActiveSheet.unprotect password = "iamlaosong" Cells(i, 2) = "" '清除以前的分数 ActiveSheet.protect password = "iamlaosong" Set cnn = CreateObject("ADODB.Connection") Set rst = CreateObject("ADODB.Recordset") sqls = "connect database" cnn.Open "Provider=msdaora;Data Source=dl580;User Id=emssxjk;Password=emssxjk;" OraOpen = True '成功执行后,数据库即被打开 'If OraOpen Then lineno = [D65536].End(xlUp).Row Else lineno = 0 '行数 Randomize (Timer) '初始化随机数生成器 '生成试题 For tp = 0 To 2 If tp = 1 Then Maxno = 20 stName = "单选" ElseIf tp = 2 Then Maxno = 20 stName = "多选" Else Maxno = 10 stName = "判断" End If sqls = "select count(*) from EMSAPP_TEST_QUESTION where type ='" & tp & "'" Set rst = cnn.Execute(sqls) Recno = rst(0) k = 1 Worksheets(stName).unprotect password = "iamlaosong" '工作表解锁以便写入题目和答案 Do While k


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭