發(fā)布: 2009-1-31 19:05 作者: webmaster 來源: 本站原創(chuàng) 查看: 2687次 共有1條評論
PowerPoint中的VBA可以實現很多復雜的交互,但很多老師面對VBA編程,都會覺得無從下手。所以本期我們?yōu)榇蠹野才帕艘粋€關于PowerPoint中VBA的小專題,以后在課件中實現交互就不會那么費勁了。
VBA基礎
說到VBA編程,就不得不提到控件工具箱,我們需要利用其中的控件搭建需要的環(huán)境。
1. 顯示控件工具箱
在PowerPoint中選擇菜單“視圖/工具欄/控件工具箱”。
(1)復選框(CheckBox):可以選擇多個選項,常用來設計多選題;(2)文本框(TextBox):可以輸入文本,常用來設計填空題;(3)命令按鈕(CommandButton):用來確定選擇或輸入,也可設計超級鏈接;(4)單選框(OptionButton):只能選中一個選項,常用來設計單選題或判斷題;(5)標簽(Label):用來顯示文字信息。
3. 插入控件的方法
單擊控件工具箱上的工具按鈕,然后在幻燈片中拖動到適當大小即可。
4. 進入VBA的方法
雙擊幻燈片中的控件或用菜單命令“工具/宏/Visual basic編輯器”即可進入VBA編程狀態(tài)。
5. 控件的主要屬性及設置方法
進入VBA后,需要在“屬性”窗口中對控件的屬性進行設置。如果沒有出現“屬性”窗口,按F4鍵即可調出該窗口。下面我們就不同的控件,來說明常用屬性的設置方法。
(1)復選框
AutoSize:有兩個值,True表示根據字的多少調整復選框的大小,False表示復選框為固定大?。籅ackColor:設置復選框的背景顏色,單擊該屬性框出現下拉按鈕,選擇“調色板”選項卡后選擇顏色;Caption:控件的名稱,把默認值刪除再重新輸入新名稱;Font:設置字體、字號及字形,單擊該屬性框出現按鈕,單擊該按鈕出現字體對話框,再在對話框中設置;Forecolor:設置字的顏色,設置方法同BackColor;Height:復選框的高度,直接輸入數字即可;Width:復選框的寬度,直接輸入數字即可;Value:復選框的值,True為選中,False則相反。
?。?)文本框
AutoSize、BackColor、Font、ForeColor、Height、Width等屬性的設置方法同復選框;Value:文本框的值,用來保存輸入的文本;TextAlign:設置文本對齊方式。
?。?)單選框
屬性設置同復選框。
?。?)標簽
除Value外,其他同復選框。
?。?)命令按鈕
同標簽。
6. 消息框MsgBox的功能
我們常用消息框顯示一些交互的信息,如圖2所示的消息框用下面的語句可實現:
Msgbox("這是一個例題",VbYesNo,"示例")
多選題的制作
1. 題目的設計同單選題
2. 選項:用復選框(CheckBox),其他設置同單選題。
3. [查看答案]命令按鈕:因為是多選題,答案有多個,所以要書寫多個條件,條件之間用and連接,表示同時滿足這幾個條件,例如第一、三、五的選項是正確的,則需要輸入如下語句:
If CheckBox1.Value=True And CheckBox3.Value=True And CheckBox5.Value=True Then
給出正確的提示信息同單選題
else
給出錯誤的提示信息同單選題
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屬性。
在此使用命令按鈕,我們可根據單選框的Value屬性的值來判斷答案,如正確選項(單選框)的Value的值為True,則為該題選擇正確,否則為選擇錯誤,我們還可根據選擇正誤來給出信息,有兩種方法。
?。?)方法一
用MsgBox(),如果選擇正確,顯示信息“Very Good!請繼續(xù)!”,錯誤則顯示“Sorry,你選錯了!正確答案是3,請繼續(xù)努力。”
操作步驟:雙擊單選框進入VBA,在編輯窗口中完成以下操作。
A. 在編輯窗口中找到如下兩條語句:
Private Sub OptionButton3_Click()
End Sub
然后在上面這兩條語句中間插入以下語句:
If OptionButton3.Value=True Then ex=MsgBox("Very Good!請繼續(xù)努力。",Vbokonly)
B. 同理,找到如下兩條語句:
Private Sub OptionButton1_Click()
End Sub
在這兩條語句中間插入語句:
If OptionButton1.Value=True Then ex=MsgBox("正確答案是3 ,請繼續(xù)努力。",Vbokonly)
C. 找到如下兩條語句
Private Sub OptionButton2_Click()
End Sub
在這兩條語句中間插入語句
If OptionButton2.Value=True Then ex=MsgBox("正確答案是 3,請繼續(xù)努力。",Vbokonly)
說明:ex為自定義變量
(2)方法二
在幻燈片合適的地方插入一標簽,修改其Caption屬性為空,其他設置同方法一,只要把正確選項中的“then”后的語名改為“label2.caption="Very Good!"請繼續(xù)!"”,錯誤選項的改為“label2.caption="正確答案是3 ,請繼續(xù)努力。"”即可。
4. 重新選擇命令按鈕
在幻燈片適當的地方插入一命令按鈕,修改其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張幻燈片,此語句表示轉到第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中插入,然后再復制過來。