發(fā)布: 2009-1-31 19:05 作者: webmaster 來源: 本站原創(chuàng) 查看: 2687次 共有1條評(píng)論
PowerPoint中的VBA可以實(shí)現(xiàn)很多復(fù)雜的交互,但很多老師面對(duì)VBA編程,都會(huì)覺得無從下手。所以本期我們?yōu)榇蠹野才帕艘粋€(gè)關(guān)于PowerPoint中VBA的小專題,以后在課件中實(shí)現(xiàn)交互就不會(huì)那么費(fèi)勁了。
VBA基礎(chǔ)
說到VBA編程,就不得不提到控件工具箱,我們需要利用其中的控件搭建需要的環(huán)境。
1. 顯示控件工具箱
在PowerPoint中選擇菜單“視圖/工具欄/控件工具箱”。
?。?)復(fù)選框(CheckBox):可以選擇多個(gè)選項(xiàng),常用來設(shè)計(jì)多選題;(2)文本框(TextBox):可以輸入文本,常用來設(shè)計(jì)填空題;(3)命令按鈕(CommandButton):用來確定選擇或輸入,也可設(shè)計(jì)超級(jí)鏈接;(4)單選框(OptionButton):只能選中一個(gè)選項(xiàng),常用來設(shè)計(jì)單選題或判斷題;(5)標(biāo)簽(Label):用來顯示文字信息。
3. 插入控件的方法
單擊控件工具箱上的工具按鈕,然后在幻燈片中拖動(dòng)到適當(dāng)大小即可。
4. 進(jìn)入VBA的方法
雙擊幻燈片中的控件或用菜單命令“工具/宏/Visual basic編輯器”即可進(jìn)入VBA編程狀態(tài)。
5. 控件的主要屬性及設(shè)置方法
進(jìn)入VBA后,需要在“屬性”窗口中對(duì)控件的屬性進(jìn)行設(shè)置。如果沒有出現(xiàn)“屬性”窗口,按F4鍵即可調(diào)出該窗口。下面我們就不同的控件,來說明常用屬性的設(shè)置方法。
?。?)復(fù)選框
AutoSize:有兩個(gè)值,True表示根據(jù)字的多少調(diào)整復(fù)選框的大小,F(xiàn)alse表示復(fù)選框?yàn)楣潭ù笮。籅ackColor:設(shè)置復(fù)選框的背景顏色,單擊該屬性框出現(xiàn)下拉按鈕,選擇“調(diào)色板”選項(xiàng)卡后選擇顏色;Caption:控件的名稱,把默認(rèn)值刪除再重新輸入新名稱;Font:設(shè)置字體、字號(hào)及字形,單擊該屬性框出現(xiàn)按鈕,單擊該按鈕出現(xiàn)字體對(duì)話框,再在對(duì)話框中設(shè)置;Forecolor:設(shè)置字的顏色,設(shè)置方法同BackColor;Height:復(fù)選框的高度,直接輸入數(shù)字即可;Width:復(fù)選框的寬度,直接輸入數(shù)字即可;Value:復(fù)選框的值,True為選中,F(xiàn)alse則相反。
?。?)文本框
AutoSize、BackColor、Font、ForeColor、Height、Width等屬性的設(shè)置方法同復(fù)選框;Value:文本框的值,用來保存輸入的文本;TextAlign:設(shè)置文本對(duì)齊方式。
?。?)單選框
屬性設(shè)置同復(fù)選框。
(4)標(biāo)簽
除Value外,其他同復(fù)選框。
?。?)命令按鈕
同標(biāo)簽。
6. 消息框MsgBox的功能
我們常用消息框顯示一些交互的信息,如圖2所示的消息框用下面的語句可實(shí)現(xiàn):
Msgbox("這是一個(gè)例題",VbYesNo,"示例")
多選題的制作
1. 題目的設(shè)計(jì)同單選題
2. 選項(xiàng):用復(fù)選框(CheckBox),其他設(shè)置同單選題。
3. [查看答案]命令按鈕:因?yàn)槭嵌噙x題,答案有多個(gè),所以要書寫多個(gè)條件,條件之間用and連接,表示同時(shí)滿足這幾個(gè)條件,例如第一、三、五的選項(xiàng)是正確的,則需要輸入如下語句:
If CheckBox1.Value=True And CheckBox3.Value=True And CheckBox5.Value=True Then
給出正確的提示信息同單選題
else
給出錯(cuò)誤的提示信息同單選題
1. 題目的設(shè)置同單選題,填空的地方用文本框。
2. 判斷正誤:因?yàn)槭翘羁疹},所填答案是文本,所以條件書寫為:
if TextBox1.value="正確的文本" then 給出正確的提示信息同單選題
else
給出錯(cuò)誤的提示信息同單選題
end if
注意:正確的文本一定要用半角雙引號(hào)括起來,如幾個(gè)空一起判斷,方法同多選題。
3. [重新填空]命令按鈕:需要完成如下語句的設(shè)置:
Private Sub CommandButton2_Click()
TextBox1.Value = "請(qǐng)雙擊后填入你的答案!"
End Sub
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = " "
End Sub
單選題的制作
例如我們要設(shè)計(jì)如圖1所示的選擇題。
1. 題目
可用文本框,也可用標(biāo)簽。如果用文本框,直接輸入文本即可。如果用標(biāo)簽,插入后雙擊該標(biāo)簽啟動(dòng)VBA,修改Caption屬性為“5X-15=0的解是:”,再根據(jù)需要修改其他屬性(如顏色等)。
2. 選項(xiàng)
插入一單選框,修改其Caption屬性為“0”,其他屬性可自行修改。其他的單選項(xiàng)可復(fù)制制作好的單選框,然后再修改它們的Caption屬性。
在此使用命令按鈕,我們可根據(jù)單選框的Value屬性的值來判斷答案,如正確選項(xiàng)(單選框)的Value的值為True,則為該題選擇正確,否則為選擇錯(cuò)誤,我們還可根據(jù)選擇正誤來給出信息,有兩種方法。
?。?)方法一
用MsgBox(),如果選擇正確,顯示信息“Very Good!請(qǐng)繼續(xù)!”,錯(cuò)誤則顯示“Sorry,你選錯(cuò)了!正確答案是3,請(qǐng)繼續(xù)努力。”
操作步驟:雙擊單選框進(jìn)入VBA,在編輯窗口中完成以下操作。
A. 在編輯窗口中找到如下兩條語句:
Private Sub OptionButton3_Click()
End Sub
然后在上面這兩條語句中間插入以下語句:
If OptionButton3.Value=True Then ex=MsgBox("Very Good!請(qǐng)繼續(xù)努力。",Vbokonly)
B. 同理,找到如下兩條語句:
Private Sub OptionButton1_Click()
End Sub
在這兩條語句中間插入語句:
If OptionButton1.Value=True Then ex=MsgBox("正確答案是3 ,請(qǐng)繼續(xù)努力。",Vbokonly)
C. 找到如下兩條語句
Private Sub OptionButton2_Click()
End Sub
在這兩條語句中間插入語句
If OptionButton2.Value=True Then ex=MsgBox("正確答案是 3,請(qǐng)繼續(xù)努力。",Vbokonly)
說明:ex為自定義變量
?。?)方法二
在幻燈片合適的地方插入一標(biāo)簽,修改其Caption屬性為空,其他設(shè)置同方法一,只要把正確選項(xiàng)中的“then”后的語名改為“label2.caption="Very Good!"請(qǐng)繼續(xù)!"”,錯(cuò)誤選項(xiàng)的改為“label2.caption="正確答案是3 ,請(qǐng)繼續(xù)努力。"”即可。
4. 重新選擇命令按鈕
在幻燈片適當(dāng)?shù)牡胤讲迦胍幻畎粹o,修改其Caption屬性為“重新選擇”,在編輯窗口中的Private Sub CommandButton1_Click()和End Sub語句間插入:
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
Label2.Caption =""如判斷正誤用的是方法一,此語句不要)
5. 下一題命令按鈕
在編輯窗口中的Private Sub CommandButton1_Click()和End Sub語句間插入
If MsgBox("是否繼續(xù)", vbYesNo + vbQuestion, “下一題”)=vbYes Then
With SlideShowWindows(1).View
.GotoSlide 2
End With(2為第2張幻燈片,此語句表示轉(zhuǎn)到第2張幻燈片)
End if
如果要根據(jù)條件的不同轉(zhuǎn)到不同的幻燈片,可用下面語句:
if 條件 then
With SlideShowWindows(1).View
.GotoSlide 2
End With
End if
說明:條件可以是Caption屬性或value屬性,書寫方法為:控件名稱(在VBA中的名稱).屬性=(value屬性為True或False,Caption屬性為具體文本,注意文本要加雙引號(hào)),例如下面的語句:
if optionbutton1.value=true then
表示如果單選框1的value值為True,那么運(yùn)行then后的語句,一直到end if。
判斷題的制作
所有的設(shè)置與單選題類似,只不過是設(shè)計(jì)兩個(gè)選項(xiàng)“√”和“×”,這兩個(gè)符號(hào)可先在Word中插入,然后再復(fù)制過來。
聯(lián)系客服