孟麗娟,吳 鋒,崔 磊
(宿遷學院基礎部,江蘇宿遷 223800)
PowerPoint中基于VBA的兩個應用的改進*
孟麗娟,吳 鋒,崔 磊
(宿遷學院基礎部,江蘇宿遷 223800)
使用PowerPoint內嵌的自動化語言Visual Basic for Applications(VBA)改進了實時顯示時間,結合算法改進了隨機點名。兩者都有一定的實用價值。
VBA;PowerPoint;實時顯示時間;隨機點名
本文基于內嵌在PowerPoint(PPT)2003中的自動化語言 Visual Basic for Applications(VBA)改進了兩個已有的應用。[1]
在PPT課件中顯示時間的方法包括利用時鐘軟件和基于應用程序編程接口(API)的VBA程序。因為這些方法顯得不夠直接或較復雜,觸發筆者改進了實現該目標的方案。
首先,為了使所用幻燈片能夠顯示出時間,在新建演示文稿的幻燈片母版中添加矩形,并用它顯示時間,如圖1所示。這一步通過VBA實現,將矩形取名為“clock”。 其次,在母板中右擊該
矩形,將它關聯已經編好的宏 (延時功能使用Timer和DoEvents實現),其主要代碼為:



在放映幻燈片期間,運行上述宏,則矩形中將實時、動態地顯示出計算機中當時的時間。
實踐表明,PPT中已有隨機函數產生的隨機數分布并不均勻,所以用于點名時會帶來一些問題。例如,兩次連續點名產生的是同一個姓名,為此,參照徐士良在文獻中的方法,用VBA生成固定區間均勻分布的隨機整數,表示學生的序號。[2]另外,因為同一個種子對應同一個確定的序列,為了在同一門課的教學中所有學生都盡可能被叫到,故而將種子設定為授課當天的日期。新建模塊,主要代碼為:

'在幻燈片右上角新建一矩形,通過奇數種子生成隨機數、選擇姓名輸出到矩形

圖2顯示了種子為4時連續點名的結果,箭頭表示名字出現的順序自左向右。可見,連續點名時,姓名沒有發生重復。

本文結合VBA簡化了實時顯示時間的過程,結合VBA和算法改進了隨機點名,兩者皆有一定的實際應用價值。
[1]吳鋒.在PowerPoint中利用VBA制作導航菜單[J].中國教育信息化,2009,(8):66-68.
[2]徐士良.C常用算法程序集(第2版)[M].北京:清華大學出版社,2001.
(編輯:王天鵬)
G433
A
1673-8454(2011)06-0067-02