ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: OKJSJSF

[分享] Excel窗体控件练习(试卷界面)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-5 22:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
    前述计时问题已基本解决,采用:把预设考试时间设为Integer类型的变量Mytime,赋值为输录在单元格的数值,把试卷生成后的开考时间设为Date类型的初始时间变量Starttime,赋值计算机当前时间Now,在Ontime方法的定时执行的子过程中,判断如果当前时间Now减去开考时间Starttime的差小于等于预设时间Mytime时,试卷单元格显示前面相减的差,即已用时间,提醒考生,否则退出Ontime方法,提示时间到自动交卷。
    如此,拖动滚动条浏览考题时,Ontime方法中止,试卷已用时间静止不变,实际考试时间仍在继续,停止操作滚动条时,试卷显示实际已用时间,所以考生需抓紧时间答题,别把时间浪费在页面滚动。
    但有一个问题,当预设考试时间为1分钟时,自动结束显示时间为0:59,设10分钟时,自动结束显示9:59,设3分钟时,自动结束显示3:00。这是不是秒的后面还有小数不能全部显示(四舍五入)造成的呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-5 23:51 | 显示全部楼层
有时又会多显示一秒。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-6 09:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 OKJSJSF 于 2018-10-7 21:00 编辑

修改后的试卷2版,显示的考试用时可能多或少一秒,还须改。 试卷2版(固定选项 动态题量) .rar (35.09 KB, 下载次数: 15) 有需要的,请下载66楼的《试卷2版、初版、题库样式》压缩文件。此致

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-6 22:49 | 显示全部楼层
增加Ontime方法的到预定时间取消累计计时及自动交卷代码后,并不能取消累计计时,也不能自动交卷,单击提前交卷按钮后,则会取消累计计时并提前交卷。不知代码错在何处,特向朋友们求助,求助,求助,代码如下:一、模块1全部

Public sh As Worksheet, mytime As Integer, starttime As Date, endtime As Date, ti As Date
Sub 生成试卷()
'    On Error GoTo cancel
    mytime = Range("D14").Value * 60
    Application.ScreenUpdating = False
    Call 试卷表新建
    Call 试卷表设置
    Call 按钮添加
    Call 多选题导入
    Call 单选题导入
    Call 判断题导入
    Call 试卷表设置2
    Call 进入试卷界面
    For Each sh In Worksheets
        If sh.Name <> "试卷" Then sh.Visible = xlSheetHidden      '隐藏非试卷表
    Next
    Range("D4").Value = 0
    Application.ScreenUpdating = True
    starttime = Now()
    endtime = TimeValue(starttime + mytime)
    Call ot
    Call ot2   
'cancel:
End Sub


二、模块2中部份
Sub ot()
    ti = Now() + TimeValue("00:00:01")     '必须设置该变量,才能在某处取消该计时方法
    Application.OnTime ti, "显示已用时间"
End Sub
Sub 显示已用时间()
    Range("D4").Value = Now() - starttime   '考试已用的时间值写入未锁定的单元格
    Call ot
End Sub
Sub ot2()   
    Application.OnTime endtime, "到时自动交卷"
End Sub
Sub 到时自动交卷()
    On Error Resume Next
    Application.OnTime ti, "显示已用时间", , False
    Range("D4").Value = mytime
    MsgBox "时间到,考试结束!", , "哎呀 !"
    Call 交卷
End Sub
Sub 提前交卷()
    On Error Resume Next
    If MsgBox("你确定要提前交卷吗?", vbOKCancel + vbQuestion, "微软的提醒!") = vbOK Then
        MsgBox "你确定要提前交卷吗?", vbOKCancel + vbQuestion, "重要的事情说二遍!"
        Application.OnTime ti, "显示已用时间", , False     '清除计时设置,空参数必须占位
        Call 交卷
    End If
End Sub

以上修改好后该程序可告一段落了。特别问下如何给别人送花?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-7 18:11 | 显示全部楼层
本帖最后由 OKJSJSF 于 2018-10-7 21:03 编辑

经过一天折腾(对代码组合及查资料),原来是变量Mytime类型设置错,且赋值时没除以86400。改正后一切正常时间正确了。对日期与时间及Ontime方法加深了理解。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-7 20:34 | 显示全部楼层
本帖最后由 OKJSJSF 于 2018-10-7 20:50 编辑

Excel题库样式、试卷初版、折腾后的试卷2版压缩后上传。初版未再作改进,有需要的,建议使用第2版。 试卷2版、初版、题库样式.rar (85.25 KB, 下载次数: 52)

open页面

open页面






TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-8 21:54 | 显示全部楼层
如有时间,增加单选题5个选项与4个选项、多选题6个选项与5个选项的自适应试卷界面。只是目前本人还未碰到过多选5个以上或单选4个以上的试卷。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-14 21:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
通过本试卷练习,发现一个问题,一些系统在让我们在某些意见建议说明备注文本框中录入字符时,常会要求字数别超过200个或250个,这是不是因为系统在将我们输录的数据导入数据库中时,采用了简便快捷的copy复制方法而不是更麻烦的move移动方法?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-10 14:55 | 显示全部楼层
本帖最后由 OKJSJSF 于 2018-11-10 15:03 编辑

按《excel vba实战技巧精粹(修订版)》第499页技巧251的“快速删除指定工作簿中的宏代码”方法插入代码,对试卷获取题库的过程的代码作补充后的附件: 试卷2版、初版、题库样式.rar (86.76 KB, 下载次数: 22)
很奇怪的问题:为什么把其他工作簿(获取路径与文件名后)的工作表移入本工作簿的过程中(准确地说是移入前)删除其中的所有宏代码与组件,不需对其他工作簿进行打开与关闭操作,而且程序执行完毕后,其他工作簿的工作表、宏代码与组件,是毫发不损,不会减少?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-16 21:50 | 显示全部楼层
本帖最后由 OKJSJSF 于 2018-11-16 21:53 编辑

单位系统升级,为学习使用微软十二年前的2007版Excel,本人又开始订下了2007版的VBA实战技巧精粹、透视表应用大全、数据处理与分析技巧精粹三本书。我的试卷界面不得不改了。唉,唉,唉,十五年前的2003版还远未学会。家里的电脑也跟着升级。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-22 02:34 , Processed in 0.038785 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表