加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2017-03-19 11:36:47)
标签:

转载

分类: ◆VBA

PPT中的VBA之二(选项按钮属性)


0421


         选项按钮:
作用:可以选择唯一选项,常用来设计单选题:
选项按钮(OptionButton)属性:
       Accelerator属性:设置或检索控件的加速键。object必需。一个有效对象。String可选。用作加速键的字符。
        AutoSize:有两个值,True表示根据字的多少调整复选框的大小,False表示复选框为固定大小;
        BackColor:设置复选框的背景颜色,单击该属性框出现下拉按钮,选择“调色板”选项卡后选择颜色;
        BackStyle属性:返回或设置对象的背景方式。返回或设置对象的背景方式。fmBackStyleTransparent0背景为透明。fmBackStyleOpaque1背景为不透明(默认值)。
        Caption:控件的名称,把默认值删除再重新输入新名称;
        Enable:指定一个控件能否接受焦点和响应用户产生的事件。True该控件可接受焦点并响应用户产生的事件,而且能通过代码进行访问(默认值)。False用户不能使用鼠标、击键、加速键或热键处理该控件。通常仍可通过代码访问该控件。
       Font:设置字体、字号及字形,单击该属性框出现按钮,单击该按钮出现字体对话框,再在对话框中设置;
        Forecolor:设置字的颜色,设置方法同BackColor;
        Groupname:创建一个互斥的数值调节钮控件组。
       Height、Width属性:对象的高度和宽度,以磅为单位。当移动或改变控件大小时,Height和Width属性将自动更新。如果改变了一个控件的大小,Height或Width属性将保存新的高度或宽度,而OldHeight或OldWidth属性保存上次的高度和宽度。如果Left或Top属性的设置小于0,这个值用于计算控件的高度和宽度,但控件的一部分将在窗体上消失。如果在窗体中移动控件,只有在移动过程中调节了控件的大小,才会使Height或Width的设置值变化。控件的Left和Top属性的设置值将发生变化,以反映控件相对于所在窗体的边缘的新位置。
       Left和Top:Left或Top属性的设置为0,则将控件的边放在其所在容器的左边或顶边处。对于多数系统,Left和Top推荐值的范围是-32,767到+32,767之间的数值。也可采用其他值,这取决于所用系统的配置。对于组合框,Left和Top的值适用于该控件的文本部分,但不适用于列表部分。当移动或改变一个控件的大小时,其新的Left设置将自动输入该属性的工作表中。当打印一个窗体时,该控件的水平或垂直位置由其Left或Top的设置值所决定。
       Locked:锁定True,False两种选择。
       MouseIcon:为对象指定一个自定义的图标。object必需。一个有效对象。
pathname必需。字符串表达式,指定包含自定义图标的文件的路径和文件名。
       MousePointer:指定当用户把鼠标放到特定对象上时,所显示鼠标指针的类型。fmMousePointerDefault0标准指针。根据对象来决定指针的图像(默认)。
fmMousePointerArrow1箭头。
fmMousePointerCross2十字线指针。
fmMousePointerIBeam3I形标。
fmMousePointerSizeNESW6斜下的双箭头。
fmMousePointerSizeNS7南北向的双箭头。
fmMousePointerSizeNWSE8斜上的双箭头。
fmMousePointerSizeWE9东西向的双箭头。
fmMousePointerUpArrow10向上键。
fmMousePointerHourglass11沙漏。
fmMousePointerNoDrop12在被拖动的对象上有“Not”符号(有一条斜线的圆)。表示是无效的放置目标。
fmMousePointerAppStarting13带沙漏的箭头。
fmMousePointerHelp14带问号的箭头。
fmMousePointerSizeAll15调整所有尺寸的光标(四向箭头)。
fmMousePointerCustom99使用由MouseIcon属性指定的图标。
TextAlign:定义控件中文本的对齐方式。
Height:复选框的高度,直接输入数字即可;
Picture:指定显示在对象上的位图。object必需。一个有效对象。pathname必需。一个图片文件的完整路径。
PicturePosition:指定图片与其题注的的相对位置。fmPicturePositionLeftTop0图片在题注的左边显示;题注与图片顶端对齐。
fmPicturePositionLeftCenter1图片在题注的左边显示;题注与图片中间对齐。
fmPicturePositionLeftBottom2图片在题注的左边显示。题注与图片的底边对齐。
fmPicturePositionRightTop3图片在题注的右边显示。题注与图片顶端对齐。
fmPicturePositionRightCenter4图片在题注的右边显示。题注与图片中间对齐。
fmPicturePositionRightBottom5图片在题注的右边显示。题注与图片的底端对齐。
fmPicturePositionAboveLeft6图片在题注的上边显示。题注与图片左边对齐。
fmPicturePositionAboveCenter7图片在题注的上边显示。题注在图片下面中间位置(默认)。
fmPicturePositionAboveRight8图片在题注的上边显示。题注与图片右边对齐。
fmPicturePositionBelowLeft9图片在题注的下边显示。题注与图片左边对齐。
fmPicturePositionBelowCenter10图片在题注的下边显示。题注在图片上面中间位置。
fmPicturePositionBelowRight11图片在题注的下边显示。题注与图片右边对齐。
fmPicturePositionCenter12图片在控件的中间显示。题注在图片上的水平和垂直方向的中心。
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-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

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有