怎么在ppt中實(shí)現(xiàn)隨機(jī)抽題
我們都知道,在excel中可以用公式做一個(gè)數(shù)字隨機(jī)器,其實(shí)在ppt中也可以,應(yīng)該怎么操作呢?以下是學(xué)習(xí)啦小編為您帶來的關(guān)于PPT實(shí)現(xiàn)隨機(jī)抽題,希望對(duì)您有所幫助。
PPT實(shí)現(xiàn)隨機(jī)抽題
設(shè)計(jì)抽題界面
打開PPT2010,將演示文稿保存成啟用宏的PPT演示文稿格式(即.pptm格式,包含宏代碼的演示文稿,必須保存成這種格式),在第一張幻燈片中設(shè)計(jì)抽題界面,先插入三個(gè)文本框,寫上必要的文字,再通過“開發(fā)工具”選項(xiàng)卡,插入三個(gè)命令按鈕控件,在這些控件上右擊,選擇“屬性”命令,打開它們的“屬性”對(duì)話框,在“名稱”后將命令按鈕名稱分別修改為:開始、停止和打開抽取的題目,再在Caption后填寫按鈕上顯示的名稱(可隨意大寫,我這兒設(shè)置的與按鈕名稱相同),并對(duì)字體、字號(hào)、背景顏色、樣式等進(jìn)行設(shè)置。
再插入三個(gè)文本框控件,同樣在“屬性”對(duì)話框中,修改它們的名稱為:抽取框、結(jié)果框和已抽題目。把“抽取框”放到“開始”和“停止”命令按鈕控件之間,把“結(jié)果框”放到“您抽取的是 號(hào)題”文本中,將“已抽題目”拖至適合大小,放置到下面(圖1)。
接著新建一張幻燈片,設(shè)計(jì)好被抽題目放置界面,并在其上設(shè)計(jì)一個(gè)返回到抽題界面幻燈片的鏈接。將該幻燈片復(fù)制多份,將相應(yīng)題目錄入相應(yīng)各幻燈片上,第二張幻燈片放第一道題目,第三張幻燈片放第二道題目,依次類推。
編寫宏代碼
接下來,按ALT+F11組合鍵,打開VBA宏編輯窗口,雙擊左側(cè)的“Slide1”,將以下代碼復(fù)制到右窗格中并保存。
Private Sub 開始_Click()
停止.Enabled = True '停止按鈕當(dāng)前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 10 + 1) '使用隨機(jī)函數(shù)
抽取框.Text = a
結(jié)果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
結(jié)果框.Text = 抽取框.Text
已抽題目 = 已抽題目 + 抽取框 + " # " '題目標(biāo)記用#分隔
停止.Enabled = False
End
End Sub
Private Sub 打開抽取的題目_Click()
ActivePresentation.SlideShowWindow_
.View.GotoSlide Val(抽取框.Text + 1)
End Sub
隨機(jī)抽取題目并打開
到抽取題目時(shí),放映幻燈片,點(diǎn)擊第一張的“開始”按鈕,此時(shí)其后的文本框中就隨機(jī)快速滾動(dòng)顯示1到10這十個(gè)數(shù)字,點(diǎn)擊“停止”按鈕后,數(shù)字停止?jié)L動(dòng),并顯示出抽取的題號(hào),同時(shí)在上方給出“您抽取的是X號(hào)題”提示,在下方“已抽題目”中顯示出所有抽過的題目標(biāo)號(hào)。點(diǎn)擊下方的“打開抽取的題目”按鈕,切換到抽取題目幻燈片,選手做完題目后,點(diǎn)擊返回鏈接,回到抽取題目頁面,繼續(xù)為下一個(gè)選手抽題(圖2)。
小提示:在幻燈片放映狀態(tài)下,可以選中三個(gè)文本框控件中的文本,刪除它們,達(dá)到清零的目的。
代碼圖示
宏代碼
Private Sub 開始_Click()
停止.Enabled = True '停止按鈕當(dāng)前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 10 + 1) '使用隨機(jī)函數(shù)
抽取框.Text = a
結(jié)果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
結(jié)果框.Text = 抽取框.Text
已抽題目 = 已抽題目 + 抽取框 + " # " '題目標(biāo)記用#分隔
停止.Enabled = False
End
End Sub
Private Sub 打開抽取的題目_Click()
ActivePresentation.SlideShowWindow_
.View.GotoSlide Val(抽取框.Text + 1)
End Sub