[转载]PPT中的VBA之二(选项按钮属性)

标签:
转载 |
分类: ◆VBA |
PPT中的VBA之二(选项按钮属性)
0421
作用:可以选择唯一选项,常用来设计单选题:
选项按钮(OptionButton)属性:
pathname必需。字符串表达式,指定包含自定义图标的文件的路径和文件名。
fmMousePointerArrow1箭头。
fmMousePointerCross2十字线指针。
fmMousePointerIBeam3I形标。
fmMousePointerSizeNESW6斜下的双箭头。
fmMousePointerSizeNS7南北向的双箭头。
fmMousePointerSizeNWSE8斜上的双箭头。
fmMousePointerSizeWE9东西向的双箭头。
fmMousePointerUpArrow10向上键。
fmMousePointerHourglass1
fmMousePointerNoDrop12在被拖动的对象上有“Not”符号(有一条斜线的圆)。表示是无效的放置目标。
fmMousePointerAppStartin
fmMousePointerHelp14带问号的箭头。
fmMousePointerSizeAll15调整所有尺寸的光标(四向箭头)。
fmMousePointerCustom99使用由MouseIcon属性指定的图标。
TextAlign:定义控件中文本的对齐方式。
Height:复选框的高度,直接输入数字即可;
Picture:指定显示在对象上的位图。object必需。一个有效对象。pathname必需。一个图片文件的完整路径。
PicturePosition:指定图片与其题注的的相对位置。fmPicturePositionLeftTop
fmPicturePositionLeftCen
fmPicturePositionLeftBot
fmPicturePositionRightTo
fmPicturePositionRightCe
fmPicturePositionRightBo
fmPicturePositionAboveLe
fmPicturePositionAboveCe
fmPicturePositionAboveRi
fmPicturePositionBelowLe
fmPicturePositionBelowCe
fmPicturePositionBelowRi
fmPicturePositionCenter1
SpecialEffect:指定对象的外观。fmSpecialEffectFlat0对象显示为平面的,借助于边框、颜色的变化或二者的共同变化,与周围的窗体相区别。该值为图像和标签的默认值;对所有控件均有效。
fmSpecialEffectRaised1对象的上边和左边高亮,下边和右边具有阴影。对复选框或选项按钮无效。
fmSpecialEffectSunken2对象的上边和左边具有阴影,下边和右边高亮。控件及其边框显示为刻入所在的窗体。复选框和选项按钮的默认值;对所有控件有效(默认)。
fmSpecialEffectEtched3边框显示为沿着控件边缘被雕刻。对复选框和选项按钮无效。
fmSpecialEffectBump6对象下边和右边隆起,而上边和左边显示为平面的。对复选框或选项按钮无效。
对于框架,默认值是Sunken。
请注意:复选框、数值调节钮和切换按钮只接受Flat和Sunken(0和2)。而其他控件可接受所列的全部值。
TextAlign:定义控件中文本的对齐方式。fmTextAlignLeft1将所显示文本的第一个字符与控件显示或编辑区的左边界对齐(默认值)。
fmTextAlignCenter2在控件的显示或编辑区中,使文本中央对齐。
fmTextAlignRight3将所显示文本的最后一个字符与控件显示或编辑区的右边界对齐。
TripleState:决定用户能否在用户界面,为复选框或切换按钮指定 [url=javascript:hhobj_5.Click()]Null[/url] 状态。
True 按钮可在三个状态中选择。 False 按钮只支持 True 和 False状态(默认值)。虽然数值调节钮具有 TripleState 属性,但是该属性是无效的。无论 TripleState 为何值,都不能通过用户界面把该控件设置为 Null。
当 TripleState 属性为 True 时,用户可从 Null,True 和 False 三个值中选择。Null 值以一个阴影按钮的形式显示。
当 TripleState 为 False 时,用户只能在 True 或 False 二者中选一。
设置为 Null 的控件不能初始化 Click 事件。
无论属性如何设置,都可以通过编程把 Null 的值指定给复选框或切换按钮,使控件显示为阴影。
Visible属性:定义一个对象是可视的还是被隐藏的。True对象是可视的(默认值)。False对象是隐藏的。
Value:复选框的值,True为选中,False则相反。
Width:复选框的宽度,直接输入数字即可;
WordWrap:指出一个控件的内容在行末是否自动换行。True文本换行(默认);False文本不换行。
[ 本帖最后由 jack0421 于 2009-6-21 22:30 编辑 ]
第三节 用 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,” 示例 ”) 。
http://www.hut.edu.cn:88/netcourse/xdjyjs/kechengxuxi/shugao/images/chapter10/10-29.JPG
图 10-29 用消息框显示交互信息
(二) VBA 的编程环境
双击幻灯片中的控件,或用菜单 “工具” -> “宏” -> “ Visual basic 编辑器”命令,即可进入 VBA 编程状态。进入 VBA 后,需要在“属性”窗口中对控件的属性进行设置。如果没有出现“属性”窗口, 按 F4 键即可调出该窗口。
二、制作智能交互型的课件
以制作单选题、选择题、判断题和填空题为例来介绍智能课件的制作方法。
(一)单选题的制作
http://www.hut.edu.cn:88/netcourse/xdjyjs/kechengxuxi/shugao/images/chapter10/10-30.JPG
图 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 为自定义变量
http://www.hut.edu.cn:88/netcourse/xdjyjs/kechengxuxi/shugao/images/chapter10/10-31.JPG
图 10-31 方法 1 的代码编辑窗口
(2)方法二
在幻灯片合适的地方插入一个标签(第二个标签),修改其 Caption 属性为空,其他设置同方法一,只要把正确选项中的“ then ”后的语句名改为“ Label2.Caption=”Very Good! 请继续! ” ”,三个错误选项的“ then ”分别改为“ Label2.Caption=” 正确答案是 3 ,请继续努力。 ” ”即可。
http://www.hut.edu.cn:88/netcourse/xdjyjs/kechengxuxi/shugao/images/chapter10/10-32.JPG
图 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
http://www.hut.edu.cn:88/netcourse/xdjyjs/kechengxuxi/shugao/images/chapter10/10-33.JPG
图 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 格式文件,学生双击此文件即可运行,以避免学生对试题进行编辑。
http://www.hut.edu.cn:88/netcourse/xdjyjs/kechengxuxi/shugao/images/chapter10/10-34.JPG
图 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-fmMousePointerIconPointe
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 制作一个简单的智能交互的课件。