分享

【湖南工业大学】【现代教育技术】课程10.3

 梦想教育 2015-05-28

 第三节 用 VBA 制作智能交互型的课件

如果课件要求智能反馈,如填空题、选择题或判断题等,可利用控件搭建环境,利用 VBA 编程,来实现复杂的智能交互。

一、 VBA 编程基础

(一)常用控件的属性设置

1. 复选框 ( CheckBox )

可以选择多个选项,常用来设计多选题;其属性设置:

AutoSize :有两个值, True 表示根据字的多少调整复选框大小, False 表示复选框为固定大小;

BackColor :设置复选框的背景颜色,单击该属性框出现下拉按钮,选择“调色板”选项卡后选择颜色;

Caption :控件的名称,把默认值删除后,再重新输入新名称;

Font :设置字体、字号及字形,单击该属性框出现按钮,单击该按钮出现字体对话框,再在对话框中对字体格式设置;

ForeColor :设置字的颜色,设置方法同 BackColor ;

Height :复选框的高度,直接输入数字即可;

Width :复选框的宽度,直接输入数字即可;

Value :复选框的值, True 为选中,相反 False 则为未选中。

2. 文本框 ( TextBox )

可以输入文本,常用来设计填空题;其 AutoSize 、 BackColor 、 Font 、 ForeColor 、 Height 、 Width 等属性的设置方法同复选框;

Value :文本框的值,用来保存输入的文本;

TextAlign :设置文本对齐方式。

3. 命令按钮 ( CommandButton )

用来确定选择或输入,也可设计超级链接等;属性设置同复选框。

4. 单选框 ( OptionButton )

只能选中一个选项,常用来设计单选题或判断题;除 Value 外,其他同复选框。

5. 标签 ( Label )

用来显示文字信息。除 Value 外,其它同复选框。

6. 消息框( MsgBox )

常用消息框显示一些交互的信息,如图 10 - 29 所示的消息框用下面的语句可实现:

MsgBox( ” 这是一个例题 ”,vbYesNo,” 示例 ”) 。

图 10-29 用消息框显示交互信息

(二) VBA 的编程环境

双击幻灯片中的控件,或用菜单 “工具” -> “宏” -> “ Visual basic 编辑器”命令,即可进入 VBA 编程状态。进入 VBA 后,需要在“属性”窗口中对控件的属性进行设置。如果没有出现“属性”窗口, 按 F4 键即可调出该窗口。

二、制作智能交互型的课件

以制作单选题、选择题、判断题和填空题为例来介绍智能课件的制作方法。

(一)单选题的制作

图 10-30 单选题的运行界面

1. 题目

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

2. 答案选项

插入一个单选框(第一个单选框),修改其 Caption 属性为“ A 3 ”,其他属性可自行修改。其他的单选项可复制制作好的单选框(第二、三和四个单选框),然后再分别修改它们的 Caption 属性为“ B 5 ”、“ C 11 ”和“ D 18 ”。

3. “查看答案”命令按钮

在此插入一个命令按钮(第一个命令按钮),我们可根据单选框的 Value 属性的值来判断答案,如正确选项(单选框)的 Value 的值为 True ,则为该题选择正确,否则为选择错误,另外还可根据选择正误来给出提示信息,有两种方法。

(1)方法一

用 MsgBox() ,如果选择正确,显示信息“ Very Good !请继续!”,选择错误则显示“ Sorry ,你选错了!正确答案是 3 ,请继续努力。”具体操作步骤:双击单选框进入 VBA 编辑窗口,在编辑窗口中完成以下操作。如图 10-31 所示。

1)在编辑窗口中找到如下两条语句: Private Sub OptionButton1_Click() 和 End Sub 语句。

然后在上面这两条语句中间插入以下语句:

If OptionButton1.Value=True Then ex=MsgBox(“Very Good !请继续努力。 ”,vbOKOnly)

2)同理,找到如下三组语句:

第一组语句: Private Sub OptionButton2_Click() 和 End Sub ;

第二组语句: Private Sub OptionButton3_Click() 和 End Sub ;

第三组语句: Private Sub OptionButton4_Click() 和 End Sub 。

在这三组的两条语句中间分别插入语句:

If OptionButton2.Value=True Then ex=MsgBox(“ 正确答案是 3 ,请继续努力。 ”, vbOKOnly)

If OptionButton3.Value=True Then ex=MsgBox(“ 正确答案是 3 ,请继续努力。 ”, vbOKOnly)

If OptionButton4.Value=True Then ex=MsgBox(“ 正确答案是 3 ,请继续努力。 ”, vbOKOnly)

说明: ex 为自定义变量

图 10-31 方法 1 的代码编辑窗口

(2)方法二

在幻灯片合适的地方插入一个标签(第二个标签),修改其 Caption 属性为空,其他设置同方法一,只要把正确选项中的“ then ”后的语句名改为“ Label2.Caption=”Very Good! 请继续! ” ”,三个错误选项的“ then ”分别改为“ Label2.Caption=” 正确答案是 3 ,请继续努力。 ” ”即可。

图 10-32 方法2的代码编辑窗口

4. “重新选择”命令按钮

在幻灯片适当的地方插入一个命令按钮(第二个命令按钮),修改其 Caption 属性为“重新选择”,如图 10-33 所示。在编辑窗口中的 Private Sub CommandButton2_Click() 和 End Sub 语句间插入:

OptionButton1.Value = False

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

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

5. “下一题”命令按钮

在幻灯片适当地方插入一个命令按钮(第三个命令按钮),修改其 Caption 属性为“下一题”,如图 10-33 所示。在编辑窗口中的 Private Sub CommandButton3_Click() 和 End Sub 语句间插入

If MsgBox(“ 是否继续 ”, VbYesNo + VbQuestion, “ 下一题 ”)= VbYes Then

With SlideShowWindows(1).View

.GotoSlide 2

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

End if

图 10-33 “重新选择”和“下一题”命令按钮代码编辑窗口

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

If 条件  then

With SlideShowWindows(1).View

.GotoSlide n //n 为第 n 张幻灯片,此语句表示转到第 n 张幻灯片

End With

End if

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

……

End if

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

(二)多选题的制作

题目的设计同单选题。答案选项用复选框( CheckBox ),其他设置同单选题。“查看答案”命令按钮,因为是多选题,答案有多个,所以要书写多个条件,条件之间用 and 连接,表示同时满足这几个条件,比如第 1 、 3 选项是正确的,则需要输入如下语句:

If CheckBox1.Value=True And CheckBox3.Value=True Then

给出正确的提示信息同单选题

Else

给出错误的提示信息同单选题

End if

(三)判断题的制作

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

(四)填空题的制作

点击文本框控件,在幻灯片适当的位置拖拉鼠标得到合适大小的文本框。选中该文本框,右击选择“查看代码”命令,打开代码编辑窗口,点击右上方的下拉按钮,在弹出的下拉列表中选择“ LostFocus ”。这样当文本输入完成、鼠标离开这个文本框时,就会出现在下面设置好的反馈信息。如图 10 - 34 所示。

在代码编辑窗口中找到这两条语句: Private Sub TextBox1_LostFocus() 和 End Sub 语句。

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

If TextBox1.Value =“李白” Then

MsgBox(“ 不错,你填对了。恭喜您!”, vbOKOnly ,“填空题”)

Else

MsgBox(“不对吧?再想想,也许您就能想起正确答案呢!”,vbOKOnly,”填空题 ”)

TextBox1.Text =“”

End If

说明:本例中这个填空题的正确答案就是“李白”,其它分别表示答对或答错时课件的反馈信息,制作中可以根据实际自行更改。如果有多个填空题,那么需要将上面代码中的 TextBox1 替换为 TextBox2 、 TextBox3 等,依此类推。

利用控件工具箱,在 PowerPoint 中制作智能交互的课件以课堂练习题为例介绍,实际上还有很多的用途,在此不再累述。如果需要制作一份交互性的试卷,可以复制相应的代码,然后根据具体问题进行修改,这样可以在一定程度上减少工作量。制作完成后,可将 PowerPoint 保存成 PPS 格式文件,学生双击此文件即可运行,以避免学生对试题进行编辑。

图 10-34 文本框代码编辑窗口

附: 设置“文本框”属性。具体含义为:

(名称)属性:可以使用自定义的字符串或由软件自动产生。

AutoSize 属性:规定文本框对象是否自动调整大小以显示其完整的内容。

AutoTab 属性设置为 True 时,才会自动按 Tab 键顺序接收焦点。

Auto Word Select 属性:指定是采用单词还是采用字符,作为扩展选定内容的基本单元。

BackColor 设置窗体背景颜色。单击右边向下箭头,弹出“调色板”与“系统”二个选顶卡。

BackStyle 属性:返回或设置对象的背景方式。可取二个值: fmBackStyleTransparent (透明)与 fmBackStyleOpaque (不透明)

BorderColor 属性:设置窗体对象的边框颜色。

BorderStyle 属性:设置窗体的边框风格。

DragBehavior 属性:指定系统是否允许在文本框中执行拖放功能。 fmDragBehaviorEnabled (允许) fmDragBehaviordisabled (不允许)

Enabled 属性:设置控件是否可用,即是否响应用户的操作。

EnterFieldBehavior 属性:指定进入文本框时的选择行为。可取 True 与 False

EnterKeyBehavior 属性:定义在文本框中按下 Enter 键的结果,如果为 True ,按 Enter 键将创建一个新行;如果为 False ,按 Enter 键,将焦点移到 Tab 键顺序的下一个对象(默认)。

Font 属性:用来设置文本框中文字的字体、字形、大小。

ForeColor 属性:设置前景颜色,图与 BackColor 相同。

Height 属性:用来表明对象的高度。

HideSelection 属性:指定当控件没有焦点时被选定的文本是否保持突出显示。

ImeMode 属性:获取或设置控件的输入法编辑器( IME )模式。 0-fmIMEModeNoControl 表示对输入法不加控制; 1-fmIMEModeOn 表示输入法处于打开状态; 2-fmIMEModeOff 表示输入法处于关闭状态; 7-fmIMEModeAlphaFull 表示输入处于全角状态; 8-fmIMEModeAlpha 表示输入处于半角状态;  11-fmIMEModeHanziFull 表示输入标点处于全角状态; 12-fmIMEModeHanzi 表示输入标点处于半角状态。

IntegralHeight 属性:指定文本框是显示列表中全部文本行还是显示部分行。

Left 属性:设置程序运行时窗体的水平位置。

Locked 属性:设置文本框内容在运行时是否可以被用户编辑。设置 True 时,不能编辑。

MaxLength 属性:规定用户可以在文本框或组合框中输入的最多字符数。若将 MaxLength 属性设置为 0 (默认值),表明只要内存允许则没有限制。

MouseIcon 属性:为鼠标对象指定一个自定义的图标。要与 MousePointer 结合(取 99-fmMousePointerCustom )才有效。

MousePointer 属性:指定当用户把鼠标放到特定对象上时,所显示鼠标指针的类型。  0-fmMousePointerDefault (默认值)由对象决定的形状。 1-fmMousePointerArrow 箭头; 2-fmMousePointerCrosshair 十字(十字型光标指针); 3-fmMousePointerIBeam I 型标; 4-fmMousePointerIconPointer 图标(在方块中的小方块); 5-fmMousePointerSizePointer 大小(四向箭头指向上下左右); 6-fmMousePointerSizeNESW 右上 - 左下大小(双向箭头分别指向右上和左下); 7-fmMousePointerSizeNS 垂直大小(双向箭头分别指向上和下); 8-fmMousePointerSizeNWSE 左上 - 右下大小(双向箭头分别指向左上和右下); 9-fmMousePointerSizeWE 水平大小(双向箭头分别指向左和右); 10-fmMousePointerUpArrow 向上箭头键; 11-fmMousePointerHourglass 沙漏(等待); 12-fmMousePointerNoDrop 不允许放下; 13-fmMousePointerArrowHourglass 箭头和沙漏; 14-fmMousePointerArrowQuestion 箭头和问号; 15-fmMousePointerSizeAll 四向箭头; 99-fmMousePointerCustom 窗体内显示由 MouseIcon 属性指定的自定义图标。

MultiLine 属性:设置控件是否可以接受多行文本。

PasswordChar 属性:以特定的字符来代替控件中的文本字符,这个属性很适合设置密码对话框。

ScrollBars 属性:利用滚动条来显示多行文字内容,其中 1-fmScrollBarsHorzontal 为水平滚动条; 2-fmScrollBarsVertical 为垂直滚动条; 3-fmScrollBarsBoth 为水平滚动条与垂直滚动条均存在,但要同时满足下列条件:① AutoSize 设置为 False ;② Word Wrap (含义见后面)设置为 False ;③当文字不超出文本框时,滚动条设置无效;④正处于文字编辑状态或放映状态;⑤ MultiLine 设置为 True 。

SelectionMargin 属性:规定用户能否通过单击文本左边区域来选中一行。

SpecialEffect 属性:指定对象的外观。 0-fmSpecialEffectFlat 正常,仅以框线或不同的色彩来区分。 Image 及 Label 的默认值都是如此,也可适用于其它控件。 1-fmSpecialEffectRaised 对象上缘及左缘反白,下缘及右缘有阴影; 2-fmSpecialEffectSunken 对象上缘及左缘有阴影,下缘及右缘反白,控件周围以框线与窗体区隔开; 3-fmSpecialEffectEtched 控件周围以框线与窗体区隔开; 6-fmSpecialEffectBump 对象下缘及右缘有突起,上缘及左缘则正常显示; TabKeyBehavior 属性:决定是否允许制表符出现在编辑区。

Text 属性:设置控件中的文本。

TextAlign 属性:定义控件中文本的对齐方式。 1-fmTextAlignLeft 左对齐; 2-fmTextAlignCenter 居中对齐;  3-fmTextAlignRight 右对齐。

Top 属性:设置程序运行时文本框窗体的垂直位置

Value 属性:定义某给定文本框控件的状态或内容。

Visible 设置程序运行时窗体是否可见。当 Visible 为 False 时,窗体是不可见的。将值改为为 True 。运行时窗体就是可见的了。

Width 设置文本框窗体的宽度。

WordWrap 属性:指出一个控件的内容在行末是否自动换行。

思考与练习

1. 如何在同一演示文稿中使用不同模板?

2. 在演示文稿中如何使用母板来统一设计幻灯片的风格?

3. 在演示文稿中如何使用配色方案来统一设计幻灯片的风格?

4. 在演示文稿中如何使用设计模板来统一设计幻灯片的风格?

5. 在演示文稿中如何使用宏来向幻灯片中插入图片?

6. 如何在演示文稿中插入 Flash 动画?

7. 如何在演示文稿中插入带滚动条的文本框?

8. 使用 PPT 的控件制作一份模拟考试试卷。

9. 使用 PPT 制作一个简单的智能交互的课件。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多