备忘录-10年前PPT自动答题小程序:完整代码一键复制,初级
一个PPT 内自动出题、随机抽题、答题、判分的完整小程序。可直接复制使用的最终完整版代码。分为两部分10年前的小工具经过AI重新整理标准模块放通用过程LoadTiKu用户窗体模块放按钮、控件事件一、标准模块插入 → 模块模块名默认Module1即可vba 全局数组存放所有题目 Public AllTiMu() As Variant Sub LoadTiKu() Dim sFile As String Dim MyString As String Dim i As Integer Dim TiMu() As String i 0 ReDim AllTiMu(0) 同目录下题库文件 sFile ActivePresentation.Path \题库文件.txt If Dir(sFile) Then MsgBox 未找到题库文件 sFile, vbCritical Exit Sub End If Open sFile For Input Access Read As #1 Do While Not EOF(1) Line Input #1, MyString TiMu Split(MyString, |) AllTiMu(i) TiMu i i 1 ReDim Preserve AllTiMu(i) Loop Close #1 Erase TiMu MsgBox 题库加载完成共 i 道题目, vbInformation End Sub二、用户窗体代码直接粘贴到窗体代码窗口vba 窗体级公共变量 Public SelDaAn As String Public selIndex As Integer 加载试题 Private Sub cmdLoad_Click() ClearSel LoadTiKu MakeTiMu cmdLoad.Enabled False End Sub 下一题 Private Sub cmdNext_Click() ClearSel MakeTiMu End Sub 核对答案 Private Sub cmdCheck_Click() If SelDaAn Then MsgBox 请先选择一个选项, vbExclamation Exit Sub End If If SelDaAn AllTiMu(selIndex)(4) Then MsgBox 正确继续努力, vbInformation Else MsgBox 再考虑考虑, vbCritical End If End Sub 随机出题 Private Sub MakeTiMu() Dim arrTemp() As String Dim totalTiMu As Integer Randomize totalTiMu UBound(AllTiMu) If totalTiMu 0 Then MsgBox 请先加载题库, vbExclamation Exit Sub End If selIndex Int(Rnd * totalTiMu) 显示题干 TextBox1.Text 题目 AllTiMu(selIndex)(0) 选项 OptSelA.Caption AllTiMu(selIndex)(1) OptSelB.Caption AllTiMu(selIndex)(2) OptSelC.Caption AllTiMu(selIndex)(3) OptSelD.Caption AllTiMu(selIndex)(4) 重置选择 SelDaAn End Sub 清空界面 Private Sub ClearSel() optSelA.Value False optSelA.Caption optSelB.Value False optSelB.Caption optSelC.Value False optSelC.Caption optSelD.Value False optSelD.Caption TextBox1.Text SelDaAn End Sub 选项A Private Sub optSelA_Click() SelDaAn Left$(optSelA.Caption, 1) End Sub 选项B Private Sub optSelB_Click() SelDaAn Left$(optSelB.Caption, 1) End Sub 选项C Private Sub optSelC_Click() SelDaAn Left$(optSelC.Caption, 1) End Sub 选项D Private Sub optSelD_Click() SelDaAn Left$(optSelD.Caption, 1) End Sub三、题库文件格式必须严格题库文件.txt一行一题格式plaintext题干|A选项|B选项|C选项|D选项|正确答案示例plaintext计算机中数据的最小单位是?|位(bit)|字节(Byte)|KB|MB|A PowerPoint中新建演示文稿快捷键是?|CtrlN|CtrlS|CtrlO|CtrlP|A四、控件名称必须对应否则报错加载按钮cmdLoad下一题按钮cmdNext核对答案按钮cmdCheck文本框TextBox1单选按钮optSelA/optSelB/optSelC/optSelD如果你需要我可以再给你加答题计分答对 1答错 0禁止重复抽题显示正确答案答题完成后显示总分