注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

.

.

 
 
 

日志

 
 

用VBA实现课件中的智能交互  

2008-10-11 16:15:01|  分类: PPT课件制作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

PowerPoint中的VBA可以实现很多复杂的交互,但很多老师面对VBA编程,都会觉得无从下手。所以本期我们为大家安排了一个关于PowerPoint中VBA的小专题,以后在课件中实现交互就不会那么费劲了。

  VBA基础

  说到VBA编程,就不得不提到控件工具箱,我们需要利用其中的控件搭建需要的环境。

  1. 显示控件工具箱

  在PowerPoint中选择菜单“视图/工具栏/控件工具箱”。

  2. 控件工具箱(如图1)中常用按钮的介绍

用VBA实现课件中的智能交互 - 白云飘飘 - .

  (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 的功能

用VBA实现课件中的智能交互 - 白云飘飘 - .

  我们常用消息框显示一些交互的信息,如图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 Sub

  Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

  TextBox1.Value = " "

  End Sub

  单选题的制作

  例如我们要设计如图1所示的选择题。

  1. 题目

  可用文本框,也可用标签。如果用文本框,直接输入文本即可。如果用标签,插入后双击该标签启动VBA,修改Caption属性为“5X-15=0的解是:”,再根据需要修改其他属性(如颜色等)。

  2. 选项

  插入一单选框,修改其Caption属性为“0”,其他属性可自行修改。其他的单选项可复制制作好的单选框,然后再修改它们的Caption属性。

用VBA实现课件中的智能交互 - 白云飘飘 - .

  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 = False

  OptionButton2.Value = False

  OptionButton3.Value = False

  Label2.Caption =""如判断正误用的是方法一,此语句不要)

  5. 下一题命令按钮

  在幻灯片适当地方插入一命令按钮,修改其Caption属性为“下一题”,在编辑窗口中的Private Sub CommandButton1_Click()和End Sub语句间插入

  If MsgBox("是否继续", vbYesNo + vbQuestion, “下一题”)=vbYes Then

  With SlideShowWindows(1).View

  .GotoSlide 2

  End With(2为第2张幻灯片,此语句表示转到第2张幻灯片)

  End if

  如果要根据条件的不同转到不同的幻灯片,可用下面语句:

  if 条件 then

  With SlideShowWindows(1).View

  .GotoSlide 2

  End With

  End if

  说明:条件可以是Caption属性或value属性,书写方法为:控件名称(在VBA中的名称).属性=(value属性为True或False,Caption属性为具体文本,注意文本要加双引号),例如下面的语句:

  if optionbutton1.value=true then

  表示如果单选框1的value值为True,那么运行then后的语句,一直到end if。


  判断题的制作


  所有的设置与单选题类似,只不过是设计两个选项“√”和“×”,这两个符号可先在Word中插入,然后再复制过来。
图示:

一、用到的控件属性

  先点击PowerPoint左上角“Office选项”按钮,在弹出的菜单中点击右下角“PowerPoint选项”按钮,在打开的对话框中选中“在功能区显示“开发工具”选项卡”复选项。完成后就可以在功能区添加“开发工具”选项卡了。

  点击“开发工具”选项卡,“控件”功能组中相关按钮就是我们要用的主要控件了,如图1所示。

  用VBA实现课件中的智能交互 - 白云飘飘 - .

  图1

   以单选框为例,点击该单选框按钮,然后在幻灯片上单击,就可以产生一个单选项。选中它,点击右键,在弹出菜单中选择“属性”命令,或者点击“开发工具”选项卡“控件”功能组中“属性”按钮,可以打开“属性”对话框。在其中的“Caption”输入框中输入我们所需要的内容,就可以做出适合我们的单选项了。

  单击“BackStyle”项目,然后在右侧的下拉列表中选择“0-fmBackStyleTransparent”,可以使做出的单选项背景透明。点击“Font”输入框,然后单击出现的按钮,可以设置字体、字号等格式。点击“Forecolor”输入框,则可以设置颜色。如图2所示。

  用VBA实现课件中的智能交互 - 白云飘飘 - .

  图2

  其它几个控件“属性”设置基本与此类似,不再罗嗦。

  二、单项选择题

  题目的题干部份可以用插入文本框的方法输入。然后用单选框做好四个选项。可以在做好一个以后,复制得到其它三个。只需要修改属性中的“Caption”即可。完成后,按住“Shift”键依次选中它们,然后点击功能区“开始”选项卡“绘图”功能组中“排列”按钮下的小三角形,在弹出的菜单中选择相应命令将它们对齐并分布均匀,如图3所示。

  用VBA实现课件中的智能交互 - 白云飘飘 - .

  图3

  现在我们选中代表正确答案的那个单选项“B:矛盾分析的方法”,点击右键,在弹出菜单中选择“查看代码”命令,在打开的窗口中找到“Private Sub OptionButton2_Click()”和“End Sub”两段代码。在这两段代码中间插入代码:

  MsgBox ("恭喜您,答对了!")

  OptionButton1.Value = False And OptionButton3.Value = False And OptionButton4.Value = False

  关闭窗口,然后运行一下幻灯片,点击选项B试试,结果不错吧?如图4所示。

  用VBA实现课件中的智能交互 - 白云飘飘 - .

 图4

  代码的第一句是设置提示框及提示信息的。而第二句代码则是在单击B选项后使其它各选项恢复到未选中状态。“OptionButton*”(*为1、2、3、4)分别表示我们制作出的四个单选项。它是以单选项制作顺序排列的。在“属性”对话框的“名称”处可以查到它。

  我们可以照着葫芦画瓢,给其它的三个选项也设置上类似的提示框。要注意提示信息及第二句代码中相应数字的调整。

三、是非判断题

  是非判断题可以看成只有两个选项的单项选择题。所以,其做法与单项选择题是一样的。只是在最后添加的代码稍加修改即可。

  四、多项选择题

  多选题需要用到复选框。假定有四个选项,其中只有A、B、D三项全选才为正确,多选或少选均为错误。

  用前面的方法插入四个复选框,调整好位置。再插入一个命令按钮,打开“属性”对话框,将“Caption”值设为“答案”。选中“答案”按钮,在右键菜单中选择“查看代码”命令,打开代码编辑窗口。在窗口中找到如下两句代码:

  Private Sub CommandButton1_Click()

  End Sub

  在这两句代码中间插入以下代码:

  If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox4.Value = True And CheckBox3.Value = False Then

  MsgBox "厉害,答对了!", vbOKOnly, "多项选择题"

  Else

  MsgBox "不好意思,您做错了。再仔细想想?", vbOKOnly, "多项选择题"

  CheckBox1.Value = False

  CheckBox2.Value = False

  CheckBox3.Value = False

  CheckBox4.Value = False

  End If

  如图5所示。放映幻灯片试试,如果出错,呵呵,那就如图6所示效果,弹出一提示框进行提示。

用VBA实现课件中的智能交互 - 白云飘飘 - .

用VBA实现课件中的智能交互 - 白云飘飘 - .

  仔细读一下代码不难发现,其实是做了一个判断:如果第1、2、4个复选框均为选中状态的话,就弹出一个表示答对的提示框,否则就弹出一个答错的提示框,并将所有复选框的选中状态消除,以便再次选择。

  五、填空题

  先做好题目,制作一条短横线表示填空区。点击“开发工具”选项卡中的“文本框”控件,然后拖出一个大小合适的文本框。调整其位置至合适。仍然打开其“属性”对话框,设置其相关的属性,比如字体格式等。这与前面的介绍基本一致,可参照操作。

  选中做好的文本框,打开代码编辑窗口,还是先找到这两句代码:

  Private Sub TextBox1_Change()

  End Sub

  在两句中间插入如下代码:

  If TextBox1.Value = "电脑" Then

  MsgBox "不错,你填对了!", vbOKOnly, "填空题"

  Else

  MsgBox "不对吧?再想想!", vbOKOnly, "填空题"

  TextBox1.Text = ""

  End If

  其中“电脑”是正确的答案。如果在文本框中填入了“电脑”,那么就会弹出正确的提示,反之会弹出错误提示并清除已填写内容。这就是这段代码的含义。

  放映一下试试,是不是可以填入答案并做出相应的反馈啊?效果如图7所示。

用VBA实现课件中的智能交互 - 白云飘飘 - .

  好了,先这么多吧。好好利用控件和VBA代码,可以完成一些看起来不那么容易完成的事情呢!

 

  评论这张
 
阅读(998)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017