孟麗娟,吳 鋒,崔 磊
(宿遷學(xué)院基礎(chǔ)部,江蘇宿遷 223800)
PowerPoint中基于VBA的兩個(gè)應(yīng)用的改進(jìn)*
孟麗娟,吳 鋒,崔 磊
(宿遷學(xué)院基礎(chǔ)部,江蘇宿遷 223800)
使用PowerPoint內(nèi)嵌的自動(dòng)化語言Visual Basic for Applications(VBA)改進(jìn)了實(shí)時(shí)顯示時(shí)間,結(jié)合算法改進(jìn)了隨機(jī)點(diǎn)名。兩者都有一定的實(shí)用價(jià)值。
VBA;PowerPoint;實(shí)時(shí)顯示時(shí)間;隨機(jī)點(diǎn)名
本文基于內(nèi)嵌在PowerPoint(PPT)2003中的自動(dòng)化語言 Visual Basic for Applications(VBA)改進(jìn)了兩個(gè)已有的應(yīng)用。[1]
在PPT課件中顯示時(shí)間的方法包括利用時(shí)鐘軟件和基于應(yīng)用程序編程接口(API)的VBA程序。因?yàn)檫@些方法顯得不夠直接或較復(fù)雜,觸發(fā)筆者改進(jìn)了實(shí)現(xiàn)該目標(biāo)的方案。
首先,為了使所用幻燈片能夠顯示出時(shí)間,在新建演示文稿的幻燈片母版中添加矩形,并用它顯示時(shí)間,如圖1所示。這一步通過VBA實(shí)現(xiàn),將矩形取名為“clock”。 其次,在母板中右擊該
矩形,將它關(guān)聯(lián)已經(jīng)編好的宏 (延時(shí)功能使用Timer和DoEvents實(shí)現(xiàn)),其主要代碼為:
在放映幻燈片期間,運(yùn)行上述宏,則矩形中將實(shí)時(shí)、動(dòng)態(tài)地顯示出計(jì)算機(jī)中當(dāng)時(shí)的時(shí)間。
實(shí)踐表明,PPT中已有隨機(jī)函數(shù)產(chǎn)生的隨機(jī)數(shù)分布并不均勻,所以用于點(diǎn)名時(shí)會(huì)帶來一些問題。例如,兩次連續(xù)點(diǎn)名產(chǎn)生的是同一個(gè)姓名,為此,參照徐士良在文獻(xiàn)中的方法,用VBA生成固定區(qū)間均勻分布的隨機(jī)整數(shù),表示學(xué)生的序號(hào)。[2]另外,因?yàn)橥粋€(gè)種子對(duì)應(yīng)同一個(gè)確定的序列,為了在同一門課的教學(xué)中所有學(xué)生都盡可能被叫到,故而將種子設(shè)定為授課當(dāng)天的日期。新建模塊,主要代碼為:
'在幻燈片右上角新建一矩形,通過奇數(shù)種子生成隨機(jī)數(shù)、選擇姓名輸出到矩形
圖2顯示了種子為4時(shí)連續(xù)點(diǎn)名的結(jié)果,箭頭表示名字出現(xiàn)的順序自左向右??梢姡B續(xù)點(diǎn)名時(shí),姓名沒有發(fā)生重復(fù)。
本文結(jié)合VBA簡(jiǎn)化了實(shí)時(shí)顯示時(shí)間的過程,結(jié)合VBA和算法改進(jìn)了隨機(jī)點(diǎn)名,兩者皆有一定的實(shí)際應(yīng)用價(jià)值。
[1]吳鋒.在PowerPoint中利用VBA制作導(dǎo)航菜單[J].中國(guó)教育信息化,2009,(8):66-68.
[2]徐士良.C常用算法程序集(第2版)[M].北京:清華大學(xué)出版社,2001.
(編輯:王天鵬)
G433
A
1673-8454(2011)06-0067-02