
PPT用VBA制作简单的选择题的方法及源码2.doc
31页PPT用VBA制作简单的选择题的方法及源码powerpoint中的vba可以实现很多复杂的交互,但很多老师面对vba编程,都会觉得无从下手所以本期我们为大家安排了一个关于powerpoint中vba的小专题,以后在课件中实现交互就不会那么费劲了vba基础说到vba编程,就不得不提到控件工具箱,我们需要利用其中的控件搭建需要的环境1. 显示控件工具箱在powerpoint中选择菜单“视图/工具栏/控件工具箱”2. 控件工具箱(如图1)中常用按钮的介绍(1)复选框(checkbox):可以选择多个选项,常用来设计多选题;(2)文本框(textbox):可以输入文本,常用来设计填空题;(3)命令按钮(commandbutton):用来确定选择或输入,也可设计超级链接;(4)单选框(optionbutton):只能选中一个选项,常用来设计单选题或判断题;(5)标签(label):用来显示文字信息3. 插入控件的方法单击控件工具箱上的工具按钮,然后在幻灯片中拖动到适当大小即可4. 进入vba的方法双击幻灯片中的控件或用菜单命令“工具/宏/visual basic编辑器”即可进入vba编程状态5. 控件的主要属性及设置方法进入vba后,需要在“属性”窗口中对控件的属性进行设置。
如果没有出现“属性”窗口,按f4键即可调出该窗口下面我们就不同的控件,来说明常用属性的设置方法1)复选框autosize:有两个值,true表示根据字的多少调整复选框的大小,false表示复选框为固定大小;backcolor:设置复选框的背景颜色,单击该属性框出现下拉按钮,选择“调色板”选项卡后选择颜色;caption:控件的名称,把默认值删除再重新输入新名称;font:设置字体、字号及字形,单击该属性框出现按钮,单击该按钮出现字体对话框,再在对话框中设置;forecolor:设置字的颜色,设置方法同backcolor;height:复选框的高度,直接输入数字即可;width:复选框的宽度,直接输入数字即可;value:复选框的值,true为选中,false则相反2)文本框autosize、backcolor、font、forecolor、height、width等属性的设置方法同复选框;value:文本框的值,用来保存输入的文本;textalign:设置文本对齐方式3)单选框属性设置同复选框4)标签除value外,其他同复选框5)命令按钮同标签6. 消息框msgbox的功能我们常用消息框显示一些交互的信息,如图2所示的消息框用下面的语句可实现:msgbox("这是一个例题",vbyesno,"示例")多选题的制作1. 题目的设计同单选题2. 选项:用复选框(checkbox),其他设置同单选题。
3. [查看答案]命令按钮:因为是多选题,答案有多个,所以要书写多个条件,条件之间用and连接,表示同时满足这几个条件,例如第一、三、五的选项是正确的,则需要输入如下语句:if checkbox1.value=true and checkbox3.value=true and checkbox5.value=true then给出正确的提示信息同单选题else给出错误的提示信息同单选题end if填空题的制作1. 题目的设置同单选题,填空的地方用文本框2. 判断正误:因为是填空题,所填答案是文本,所以条件书写为:if textbox1.value="正确的文本" then 给出正确的提示信息同单选题else给出错误的提示信息同单选题end if注意:正确的文本一定要用半角双引号括起来,如几个空一起判断,方法同多选题3. [重新填空]命令按钮:需要完成如下语句的设置:private sub commandbutton2_click()textbox1.value = "请双击后填入你的答案!"end subprivate sub textbox1_dblclick(byval cancel as msforms.returnboolean)textbox1.value = " "end sub单选题的制作例如我们要设计如图1所示的选择题。
1. 题目可用文本框,也可用标签如果用文本框,直接输入文本即可如果用标签,插入后双击该标签启动vba,修改caption属性为“5x-15=0的解是:”,再根据需要修改其他属性(如颜色等)2. 选项插入一单选框,修改其caption属性为“0”,其他属性可自行修改其他的单选项可复制制作好的单选框,然后再修改它们的caption属性3. 查看答案命令按钮在此使用命令按钮,我们可根据单选框的value属性的值来判断答案,如正确选项(单选框)的value的值为true,则为该题选择正确,否则为选择错误,我们还可根据选择正误来给出信息,有两种方法1)方法一用msgbox(),如果选择正确,显示信息“very good!请继续!”,错误则显示“sorry,你选错了!正确答案是3,请继续努力操作步骤:双击单选框进入vba,在编辑窗口中完成以下操作a. 在编辑窗口中找到如下两条语句:private sub optionbutton3_click()end sub然后在上面这两条语句中间插入以下语句:if optionbutton3.value=true then ex=msgbox("very good!请继续努力。
",vbokonly)b. 同理,找到如下两条语句:private sub optionbutton1_click()end sub在这两条语句中间插入语句:if optionbutton1.value=true then ex=msgbox("正确答案是3 ,请继续努力",vbokonly)c. 找到如下两条语句private sub optionbutton2_click()end sub在这两条语句中间插入语句if optionbutton2.value=true then ex=msgbox("正确答案是 3,请继续努力",vbokonly)说明:ex为自定义变量(2)方法二在幻灯片合适的地方插入一标签,修改其caption属性为空,其他设置同方法一,只要把正确选项中的“then”后的语名改为“label2.caption="very good!"请继续!"”,错误选项的改为“label2.caption="正确答案是3 ,请继续努力"”即可4. 重新选择命令按钮在幻灯片适当的地方插入一命令按钮,修改其caption属性为“重新选择”,在编辑窗口中的private sub commandbutton1_click()和end sub语句间插入:optionbutton1.value = falseoptionbutton2.value = falseoptionbutton3.value = falselabel2.caption =""如判断正误用的是方法一,此语句不要)5. 下一题命令按钮在幻灯片适当地方插入一命令按钮,修改其caption属性为“下一题”,在编辑窗口中的private sub commandbutton1_click()和end sub语句间插入if msgbox("是否继续", vbyesno + vbquestion, “下一题”)=vbyes thenwith slideshowwindows(1).view.gotoslide 2end with(2为第2张幻灯片,此语句表示转到第2张幻灯片)end if如果要根据条件的不同转到不同的幻灯片,可用下面语句:if 条件thenwith slideshowwindows(1).view.gotoslide 2end withend if说明:条件可以是caption属性或value属性,书写方法为:控件名称(在vba中的名称).属性=(value属性为true或false,caption属性为具体文本,注意文本要加双引号),例如下面的语句:if optionbutton1.value=true then表示如果单选框1的value值为true,那么运行then后的语句,一直到end if。
判断题的制作所有的设置与单选题类似,只不过是设计两个选项“√”和“×”,这两个符号可先在word中插入,然后再复制过来一、基本构想图1 本例很简单,就两道题:界面如图1所示,就是题目、选项和一个按钮,在最后一道题所在的页面上把“下一题”按钮改成“得分”按钮由界面可知,我们需要一个文本框,四个选项按钮和一个命令按钮功能方面我希望在单击“下一题”按钮时,界面能够转到下一题;单击“得分”按钮时,在成绩文本框中能够显示出这次测验的成绩就可以了本例的两道题的正确选项分别为“B”、“C” 二、制作过程 1、运行PowerPoint2003,单击“文件”-“保存”命令,弹出“另存为”对话框,文件名设为“测验”,单击“保存”命令 2、单击“插入”-“文本框”-“水平”命令,这时鼠标变成“1”字型,在编辑区内单击鼠标左键拖动鼠标拉出一个方框,在框内输入第一题的题目“1.人造地球卫星的轨道半径越大,则” 3、下面我们来制作选项单击“视图”-“工具栏”-“控件工具箱”命令,弹出“控件工具箱”,单击“控件工具箱”上的“选项按钮”控件,鼠标变成十字型,按下鼠标左键拖动鼠标拉出一个方框单击“控件工具箱”上的“属性”命令,弹出“属性”对话框,把“名称”改为“ti1”,把“caption”改为“A.速度越小,周期越小”,其它设为默认。
如图2所示图2 其余的三个选项的名称分别为“ti2”、“ti3”、“ti4”,“caption”分别为“B.速度越小,周期越大”、“C.速度越大,周期越小”、“D.速度越大,周期越大” 4、“下一题”按钮的制作单击“控件工具箱”中“命令按钮”控件,这时鼠标变成十字型,如前在编辑区内拖拉出一个方框,松开鼠标方框会变成一个按钮选中它,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,把“命令按钮”属性中的“caption”设为“下一题” 这样,第一题的界面就制作完成了第二题我们可以按照第2-4步做出来,只是要把题目、各个选项值换一下,另外需要添加一个文本框命令,其名称设为“sum”,命令按钮的名称改为“得分” 三、添加代码 1、单击“控件工具箱”上“查看代码”控件,弹出“Microsoft visual basic”编辑器,单击“插入”-“模块”命令,弹出“模块”编辑窗口,在“模块”编辑窗口输入“public fen(2) as integer” 2、选中第一题中“下一题”按钮,单击“控件工具箱”上“查看代码”控件,弹出“Microsoft visual basic”编辑器,在“Private Sub CommandButton1_Click()”和“End Sub”之间输入 If ti2.Value = True Then fen(0) = 2 Else fen(0) = 0 End If With SlideShowWindows(1).View .GotoSlide (2) End With 3、选中最后一题中“得分“按钮,单击“。












