向陽霞 陳建明 陸軍裝甲兵學院信息通信系
2020年春季學期,由于疫情的影響,教育部要求延期開學,并提出利用網絡平臺,“停課不停學”。在線教學使得師生基于互聯網平臺發生時空和教學分離,如何與傳統線下授課一樣進行有效互動,是教師面臨的考驗。PPT課件作為現代化教育的手段之一,如何更好地結合在線平臺為教學服務?是每一位教師需要長期研究的內容。目前,多數教師把精力集中在軟件本身的使用操作上,對圖文、配色、動畫等設計關注較少,對研究如何在PPT課件中進行開發輔助課堂教學管理工具的更是寥寥無幾。下面,筆者以實現隨機點名PPT課件為例進行介紹,闡述如何使用VBA(Visual Basic for Application)將PPT與Excel進行有機結合。
互性課件的設計
1.開發環境
①操作系統WIN7以上版本(32/64位);②OFFICE 2010(32位)版本。
2.功能設計
筆者設計的隨機點名PPT課件,主要有兩個功能:①隨時點名。教師控制開始點名和結束點名的時機;點名開始時,從數據源中獲取學生信息,文中采用Excel存儲學生名單,然后通過隨機函數進行計算,讀取表格中的學生記錄并顯示,點名結束后,單擊隨機點名按鈕,可進行下一次點名。②隨機點名。通過PPT的母版功能,在幻燈片母版的標題內容頁中設置按鈕控件,放映時每一頁都可以隨時隨機點名,在單擊該按鈕時,彈出點名對話框,顯示當前點名信息,在當前窗體中,設置“關閉”按鈕,結束本次點名,返回到正在放映的PPT頁面,教師繼續進行教學活動。
3.隨機點名顯示界面設計
VBA中的用戶窗體就是指帶UI的用戶界面,包含文本框、復選框、單選按鈕等控件。每一次點名獲取到的學生信息,將在彈出的窗體中進行顯示,以醒目的方式進行提示,增強與學生的互動性。
具體操作步驟如下:通過菜單“開發工具”中的“用戶窗體”創建窗體,并進行界面設計,如圖1所示,學生框中顯示所讀取的學生序號,姓名框中顯示所讀取的學生姓名,關閉按鈕,停止點名,返回PPT頁。

圖1 界面設計
點名PPT課件的實現
1.創建PPT課件
創建自己的課件,該課件文件必須以“啟用宏的演示文稿”保存,即后綴名為.pptm格式。pptm是啟用了宏的文件,并且該文件只能用2007及以上版本的Office軟件打開,如果用其他版本軟件打開會出現無法編輯、圖片不完整等問題。
2.在PPT中進行VBA編程
(1)VBA相關操作
VBA是一種完全面向對象體系結構的編程語言,VBA沒有自己獨立的工作環境,必須依附于主應用程序,如Microsoft Office軟件,通過VBA可以實現各種Office軟件操作的自動化。
為有效進行VBA進行開發,首先需要進行如下相關設置:①在PPT菜單中增加“開發工具”欄,為增加ActiveX控件和編寫程序提供開發環境;②設置“啟動所有宏”,開啟宏功能,確保程序能正常運行。在Office中的宏是默認禁用的。
(2)在PPT母版中插入按鈕控件
幻燈片母版是一類特殊幻燈片,它能控制基于它的所有幻燈片,對母版的任何修改都會體現在那些基于它的幻燈片上。因此,采用母版來進行制作,提高了工作效率。母版主要分為主題頁和標題頁、標題內容頁,通常包含一些共有信息,如背景、配色方案、字體等。
通過“開發工具”菜單,筆者在PPT母版的標題內容頁中插入“隨機點名”按鈕控件,注意必須在母版中進行增加,以達到每頁都能隨時點名的效果,并且在母版中可以調整按鈕的位置,以適應自己的PPT課件內容。
3.創建數據源
筆者采用Excel作為數據源,在工作簿中用來處理和存儲數據,保存文件后綴名為.xlxs或.xls,并確保文件名為英文,否則獲取失敗。使用Excel存儲文件的目的:
①可以直接使用現有的學生名單,提高已有資源的利用率,降低開發難度;②與PPT連接簡單方便,提高開發效率。
(1)設計表結構
學生名單表中包含多列數據,如學號、姓名、照片等,為點名提供數據源,筆者設計了兩列:學號和姓名。
(2)Excel與PPT進行連接
E xcel與PP T進行連接,首先引用“Microsoft Excel 14.0 Object Library”。具體操作如下:打開PowerPoint2010→開發工具→Visual Basic→工具→引用→勾選“Microsoft Excel 14.0 Object Librar y”→確定。其中,4.0是Office 2010的版本,如果采用其他版本,要進行相應選擇,否則,獲取數據失敗。此時,PPT與Excel建立連接,即可在PPT程序中使用Excel中的VBA對象屬性函數。同時,為了能精準找到Excel學生名單,應盡量把PPT課件和Excel學生名單兩個文件放在同一目錄下,通過正在打開的PPT課件,獲取Excel文件的路徑,參考代碼如圖2所示。

圖2
(3)獲取EXCEL數據
在獲取Excel數據時,其基本對象為:Application(Excel應用程序)→Workbook(工作簿)→Sheets(工作表)→Cells(單元格)。在VBA中定位到指定的單元格,使用方法為:工作簿.工作表.單元格。
本例中以獲取學號為例,參考代碼如下:
①找到激活的Sheet工作表。
Set xlSht = xlWBK.Worksheets(1)
xlSht.Activate
②讀取學號和姓名信息。
單元格表達方式有兩種——Range和Cells,工作表中的“行”用數字1、2、3等表示,“列”用A、B等來表示。兩者s都指的是單元格對象。其中Cells是單個單元格對象,兩個參數分別為行和列;Range()則是指一個區域,區域中可以是一個單元格,也可以是多個單元格。
隨機點名的計算方法:
①根據標題行中“學號”字段或“姓名”字段,計算出表中第一行的行號start_row和最后以后的行號end_row end_row。
②通過隨機函數Rnd計算出學生信息記錄行。參考代碼如圖3所示。

圖3
③顯示點名信息。
在本例中,當PPT放映時,單擊“隨機點名”按鈕,顯示點名信息。因此是采取彈出窗體方式進行顯示。參考代碼如圖4所示。

圖4
4.退出PPT放映時關閉Excel
在操作PPT時,其基本對象為:Application(PowerPoint應用程序)→Presentation(演示文稿)→Slides(幻燈片放映窗口)→Shapes(幻燈片)。
OnSlideShowTerminate在幻燈片放映結束時自動運行的宏,可以用它來清理相關的信息。采用VBA編程,實現在PPT結束放映時關閉Excel進程,清空緩存數據,此操作非常重要,否則造成打開很多Excel的進程,導致隨機點名失敗。參考代碼如圖5所示。

圖5
5.隨機PPT課件的使用
當實現隨機點名功能后,可以把此PPT作為模板,一是在此基礎上設計制作自己的課件,二是把已有的課件復制到此模板上。優點:①操作簡單;②PPT課件和Excel文件無縫連接,融為一體。缺點:如果復制的PPT課件版式與此模板不一致,需要進行PPT母版操作和代碼復制。
本文中的隨機點名功能與PPT操作有機融合,功能簡潔,簡單可行。從筆者在線教學實際應用效果來看,它進一步豐富了課件的表現形式,激發了學生的學習興趣,增強了與學生之間的交互,使課堂氣氛更活躍和活潑,并且其開發和運行環境一致,控件與PPT課件教學內容展示有機融為一體,教師操作上手容易,線上線下應用快捷方便。