利用VBA设计课堂练习题.pdf_第1页
利用VBA设计课堂练习题.pdf_第2页
利用VBA设计课堂练习题.pdf_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

46 2012年第8期 总第144期 ISSN1672 1438 CN11 4994 T 2012年4月 利用VBA设计课堂练习题 祝 晓 收稿日期 2011 11 27 作者简介 祝晓 本科 作者单位 云南省临沧市云县大寨中学 由于利用多媒体课件教学有诸多优越性 所以 在提高教学质量方面 多媒体课件不失为一种很好的 辅助工具 制作多媒体课件的软件也很多 如Flash Authorware PPT等 在实际使用时要根据教学需求和对 这些软件的熟悉程度加以选用 PPT的易用性和强大功 能得到了广大教师的青睐 如果结合使用VBA PPT的 灵活性 功能性 交互性 可扩展性等都会大大增强 一 VBA简介 VBA是Visual Basic for Application的简写 它 以VB Visual Basic 语言为基础 经过修改并运行在 Microsoft Office 如Excel Word PPT和Access 中的应 用程序 是一种完全面向对象体系结构的编程语言 利用VBA可以对Office软件进行二次开发 增强Office 软件的灵活性和扩展性 例如 用VBA制作PPT课件 将会使课件别具特色 VBA是一种程序语言 有自己 的语法规范 初学者可以找相关书籍或查阅VBA帮 助 进行学习 以下从练习题设计角度谈VBA在PPT课 件中的应用 二 VBA在PPT中的应用实例 1 准备工作 1 建立数据库 数据库是用来存放练习题和答案的 数据库有多 种 不同的数据库有不同的优缺点和适用范围 这里 选用Microsoft Access即可 本例建一个名为test的数 据库 这个数据库包含4个表 分别是xzt 用于存放选 择题 pdt 用于存放判断题 tkt 用于存放填空题 ppt 用于存放匹配题 选择题字段设计 xzt 题目 备 选A 备选B 备选C 备选D 答案 其余根据需要仿 此 使用数据库的目的是使课件更具有灵活性和可扩展 性 有了数据库 只需要更新数据库练习题的内容 以 后调用即可 而且答题界面可以做得很简洁 一般一种 题型用一张即可 2 界面设计 界面的使用可以选择大家熟知的幻灯片 Slide 也可以使用Visual Basic编辑器中添加的用户窗体 UserForm 它们各有优缺点 使用幻灯片的不足之处 是程序执行结果会保留在幻灯片上 重新播放时 上次 结果会保留在幻灯片上 使用不太方便 要除去这些 内容 还得多写代码 使用用户窗体不足之处是幻灯片 启动时看不见 因此在这里把它们结合起来使用 使用 一张幻灯片 作为导航界面 使用若干个用户窗体作为 答题界面 执行 视图 工具栏 控件工具箱 命令 打开控件工具箱 单击控件工具箱上的命令按 钮 在幻灯片的合适位置画出4个按钮 右击第一个命 令按钮 在弹出的快捷菜单中单击 属性 在打开的 属性对话框中 将Caption属性改为 选择题 用同样 的方法将另外三个命令按钮的Caption属性分别改为 判 断题 填空题 匹配题 然后使用Alt F11组合 键 或执行 工具 宏 Visual Basic编辑器 命令 打开Visual Basic编辑器窗口 在此窗口中 执行 插 入 用户窗体 就可插入用户窗体 在第一个用户 窗体的合适位置添加两个命令按钮CommandButton1和 CommandButton2 Caption属性分别为 开始 下 一题 Enabled属性分别为真 True 假 False 然后在适合的位置添加一个标签 Label1 用于显示 题目 在适合处添加4个单选按钮 OptionButton1 OptionButton2 OptionButton3 OptionButton4 将 Caption属性值分别设置为 A B C D 字母大小写一定要和数据库中 答案 中的一致 并 在每个单选按钮的后边加一个标签 Label2 Label3 Label4 Label5 用于显示备选择答案 另外在不影 响操作的位置加一个文本框 TextBox1 把其可见性 Visible 设置为假 False 用于暂存已经做的题目数 量 第一个用户窗体作为选择题答题界面 一般一种题 型用一个窗体 按需要仿窗体一设计即可 另外 界面 的设计要符合界面设计原则 47 2012年第8期 总第144期 ISSN1672 1438 CN11 4994 T 2012年4月 2 应用实例 1 链接数据库 执行 工具 宏 Visual Basic编辑器 命令 打开 Visual Basic编辑器 窗口 引用VBA工程 VBAProject 单击 工具 T 引用 R 打开 引用 VBAProject 窗口 在 可 使用的引用 A 窗口中找到 Microsoft ActiveX Data Object2 6 并选中 单击 确定 单击 插入 模块 就新建了一个模块 默认名称是 模块1 双击 模块1 并添加以下代码 Public adocon As ADODB Connection Public adorst As ADODB recordset 在模块中建立 公共数据对象 Sub MAIN Set adocon New ADODB Connection If adocon State adStateOpen And Not IsEmpty adStateOpen Then adocon Close adocon Provider microsoft jet oledb 4 0 adocon ConnectionString test mdb adocon Open 建立记录集 Set adorst New ADODB Recordset adorst ActiveConnection adocon adorst CursorLocation adUseClient adorst CursorType adOpenDynamic adorst LockType adLockOptimistic End Sub 2 利用VBA设计选择题 单击第一个用户窗体中的 开始 按钮 Private Sub CommandButton1 Click 开始按钮 CommandButton1 Enabled False CommandButton2 Enabled True TextBox1 Text 1 初始化题目量 Call MAIN adorst Source xzt adorst Open adCmdTable Label1 Caption adorst Fields 0 Label2 Caption adorst Fields 1 Label3 Caption adorst Fields 2 Label4 Caption adorst Fields 3 Label5 Caption adorst Fields 4 End Sub 单击第一个用户窗体中的 下一题 按钮 Private Sub CommandButton2 Click Dim i As Integer CommandButton3 Enabled True TextBox1 Text TextBox1 Text 1 i TextBox1 Text Call MAIN adorst Source xzt adorst Open adCmdTable If i adorst RecordCount Then adorst AbsolutePosition i 指向第i条记录 Label1 Caption adorst Fields 0 Label2 Caption adorst Fields 1 Label3 Caption adorst Fields 2 Label4 Caption adorst Fields 3 Label5 Caption adorst Fields 4 End If End Sub 为第一单选按钮添加代码 其余依此类推 Private Sub OptionButton1 Click If OptionButton1 Caption adorst Fields 答案 Then MsgBox 答对了 你真棒 Else MsgBox 错了 再想想 End If End Sub 为幻灯片上的 选择题 按钮添加代码 其余依 此类推 Private Sub CommandButton1 Click Load UserForm1 UserForm1 Show End if 这样就可以打开选择题答题界面 3 设计判断题 判断题的设计和选择题类似 只需两个单选按钮 OptionButton1 OptionButton2 这两个单选按钮的 Caption属性分别设为 正确 错误 即可 其余仿选 48 2012年第8期 总第144期 ISSN1672 1438 CN11 4994 T 2012年4月 择题 4 填空题的设计 只要答案是固定的 填空题也可以智能判断 在设 计数据库时 要填空的地方用括号表示 在答题界面上 用文本框 TextBox 作为答题的地方 再用一个命令按钮 CommandButton1 来判断 关键代码示例 Private Sub CommandButton1 Click If TextBox1 Text adorst Fields 答案 Then MsgBox 答对了 你真棒 Else MsgBox 错了 再想想 End If End Sub 5 连线题 匹配题 的设计 用连线的方法判断正误不好设计 改变思路 把 要和某项相连的对象移动到它的右边 再判断正误 这样 问题的关键转化为怎样拖动要匹配的对象 关 键代码 Dim X1 Y1 As Integer Down As Boolean 设置全局 变量 X1 Y1等为Label1等对象的初始坐标值 Private Sub Label1 MouseDown ByVal Button As Integer ByVal Shift As Integer ByVal X As Single ByVal Y As Single If Not Down Then X1 X Y1 Y Down True End If End Sub Private Sub Label1 MouseMove ByVal Button As Integer ByVal Shift As Integer ByVal X As Single ByVal Y As Single 如果鼠标已按下 设置Label1新的坐标值 If Down Then Label1 Left Label1 Left X X1 Label1 Top Label1 Top Y Y1 X1 X Y1 Y End If End Sub Private Sub Label1 MouseUp ByVal Button As Integer ByVal Shift As Integer ByVal X As Single ByVal Y As Single Down False TextBox1 Text Label1 Caption End Sub 以上把标签 Label1 的内容 需要拖动的对象 拖放 到文本框中 就可以判断正误 Private Sub CommandButton1 Click If TextBox1 Text adorst Fields 答案 Then MsgBox 做对了 恭喜你 vbOKOnly 提示 Else MsgBox 做错了 还得努力啊 vbOKOnly 提示 End If End Sub 从以上代码可以看出 如果需要匹配的对象较多 就要写很多代码 如果一个标签对应一个匹配对象 每 个标签都写MouseDown MouseMove和MouseUp事件代 码 解决问题的办法不是唯一的 另外一种思路 用文 本框的Change事件为文本赋值 同时把标签隐藏 即可 见性设置为假 具体做法是 用一个标签作为匹配对象 的序号 一个标签作为匹配对象 一个文本框作为匹配 对象的容器 利用文本框的Change事件 向文本框输入 序号时 序号消失而将匹配对象赋予文本框 同时利用 代码使用表示序号和匹配对象的标签隐藏 可见性设为 假 关键代码示例 Private Sub TextBox

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论