朱潔蘭
摘要:VBA程序的開發環境非常普及,使用方法比較簡單,筆者通過教學實踐,在課程教學內容的選擇、教學實驗的設計等方面總結出該門課程的三點教學策略:①選取由淺入深的理論教學;②從錄制宏的上機實驗入門;③訓練學生完成實用性實驗。同時,筆者還認為在授課過程中應結合學生需求,設計更多復雜、實用的案例。
關鍵詞:VBA;計算機基礎教學;教學策略
中圖分類號:TP311.1 ? ?文獻標識碼:B ? ?論文編號:1674-2117(2015)01-0110-02
VBA程序設計與其他程序設計方法相比較,最大的不同有兩點:第一,VBA程序的開發環境非常普及,學生個人使用的電腦、學校機房、實習時的辦公電腦基本上都安裝有Windows操作系統和Office辦公軟件;第二,VBA程序設計方法比較簡單,在語法上零基礎的學生也可以通過錄制宏的特殊方式來實現程序設計。
筆者在高校擔任《VBA程序設計》課程的授課教師,在課程教學內容的選擇、教學實驗的設計等方面做了大量的調研和嘗試,在實踐過程中總結出了一些針對本門課程的教學策略。
● 選取由淺入深的理論教學
筆者所教授的《VBA程序設計》是面向全校學生的選修課,對選課學生要求的是先學習過《計算機信息技術基礎》課程。上課的學生大部分都有較好的辦公軟件使用基礎,但是沒有程序設計類課程的學習經驗。基于以上的學生基礎知識分析,筆者在理論教學中選擇了由淺入深的教學內容,以VBA語法為主,少量篇幅介紹課程中涉及的辦公軟件使用方法。
本門課程中講授VBA語法的目的是讓學生學會看懂錄制宏形成的代碼,并且能夠根據需要進一步地修改代碼。基于這樣的教學目標,筆者把理論教學分為六個部分,分別是數據類型與運算、選擇語句和判斷語句、Excel常用對象與事件、界面設計、代碼調試等。每部分都選取和實驗相關的內容詳細講解,學生如果想了解更深入的相關課程內容,則可以通過自學教材完成。例如,在“Excel常用對象與事件”這一章中,筆者只介紹了application對象、workbook對象、worksheet對象和range對象。學生熟悉掌握了這幾個常用對象的使用方法后,對其他對象就能夠快速的進行自學了。
本著“授人以魚,不如授人以漁”的態度,筆者在教學中非常重視教授學生如何靈活自如地使用VBA程序自帶的“幫助”工具。在教材主要使用的Excel軟件中,VBA“幫助”工具就提供了幾百個Excel對象模型參考,這些對象不可能在課堂上講授完畢,因此,只有學會看懂“幫助”工具才能明白隨時查找對象的使用方法。例如,在VBA程序設計中要使用到圖表對象,但是課程介紹的Excel常用對象中沒有包括圖表,學生可以通過“幫助”工具搜索到Charts對象的所有屬性和方法,也可以在“Excel對象模型參考”中查找到Charts對象。學生在“charts對象成員”中可以學習到Charts對象的使用方法,點擊每個方法都有參數說明和示例,如Charts對象的Add方法的示例為:
ActiveWorkbook.Charts.Add Before:=Worksheets(Worksheets.Count)
從這個示例中可以分析出新建圖表工作表的語句是ActiveWorkbook.Charts.Add,參數Before是指定新建的圖表工作表插入到最后一張工作表之前。學生如果不明白Worksheets.Count的含義,用同樣的方法可以去“幫助”工具中查找Worksheets對象的說明,其Count屬性的含義是“返回一個Long 值,它代表集合中對象的數量”。學生在上機實驗中通過多次使用VBA“幫助”工具,可以快速提高應用能力。
● 從錄制宏的上機實驗入門
考慮到本門課程的學生大部分沒有學習過程序設計類課程,筆者在學生前兩次的上機實驗中安排了錄制宏的實驗題目。這樣既避免了學生對程序設計語法的畏懼心理,又增加了學生對VBA編程的自信心,學生可以通過這兩次實驗體會到VBA中宏的妙用。
第一個宏實驗是在Excel中自動生成工資條,實驗要求是在Excel工資表中,給每一條記錄插入一個工資表的表頭,如果有100條工資記錄就要復制粘貼100次表頭記錄行,通過錄制一次復制粘貼表頭的宏,并把宏指定給新插入的按鈕,學生就可以通過一個按鈕完成重復工作了。
在Excel中錄制宏是一個重要的VBA編程技巧,學生在熟練掌握語法后,也可能遇到生疏的對象和事件,通過錄制宏后查看代碼,就可以清楚地知道該對象和事件的對應代碼,相對于查找“幫助”工具更為快捷。例如,在VBA中進行單變量求解是使用Range.GoalSeek方法,在Range對象中屬于不常用的方法,通過錄制一次單變量求解的過程,再查看以下代碼:
Range("A1").GoalSeek Goal:=10, ?ChangingCell:=Range("A4")
就可以清楚地知道Range.GoalSeek方法是單變量求解,目標值用Goal參數設置,可變單元格用 ChangingCell參數設置。
第二個宏實驗是在Word中設置按鈕或快捷鍵來轉換字符的大小寫狀態。該實驗通過錄制宏新建按鈕或快捷鍵,使用方法和在Excel中相似。通過先后在Excel和Word中錄制宏并查看宏代碼,學生可以了解到VBA程序設計的顯著特點就是不同軟件中的VBA有不同的對象和事件,Excel和Word都有各自的對象模型。
● 訓練學生完成實用性實驗
筆者在安排學生的上機實驗時,為了激發學生的學習興趣并能夠學以致用,專門挑選了一些實用性的實驗題目。實驗內容主要包括三個部分,分別是Excel VBA、Word VBA和PPT VBA的程序設計。下面舉例說明這三部分實用性實驗的內容。
1.在Excel中,要求學生制作一個人員信息管理界面,該實驗可以擴展為通訊錄人員管理、人力資源信息管理等相關的程序設計。實驗內容是通過新建的界面完成信息錄入、增刪改和查詢,把Excel工作表作為保存數據的數據庫。這個實驗涉及ExcelVBA的界面設計、工作表對象、單元格對象、find方法等內容。
2.在Word中,要求學生制作一份合同模板。該實驗可以擴展到要求固定格式的報告模板、簡歷模板等。實驗內容是通過在Word中插入日期選取器、格式文本、組合框等控件來固定合同的樣式,讓學生熟悉Word特有控件的使用方法。
3.在PPT中,要求學生制作一份銷售數據月報的幻燈片模板。該實驗可以擴展到展示Excel數據源的其他類型的幻燈片模板,如產品成本數據月報模板、員工工資數據月報模板。實驗內容是通過VBA把PPT的文本、圖表等對象的數據源指定到Excel工作表中,通過修改Excel工作表中的數據源就可以及時更新PPT中的內容。
● 結束語
國內各大高校越來越多地開設了VBA程序設計的相關課程,這對普及計算機程序設計基礎知識有很大的好處,無論文科還是理工科的學生在學習和工作中都離不開Office辦公軟件,學習VBA程序設計可以提高大學生的信息素養。
筆者在兩年的授課過程中也體會到了該課程對提高學生的計算機實用能力的作用,但作為教師還應清楚,該課程還需要在結合學生需求的案例設計上更下功夫,如結合Excel的規劃求解、數據透視表等功能,這樣才能更深入地發揮VBA的功能。
參考文獻:
[1]梁輝,李花.基于計算思維能力培養的Excel VBA教學研究[J].工業和信息化教育,2013(6).
[2]陸漢權,何欽銘,徐鏡春.基于計算思維的“大學計算機基礎”課程教學內容設計[J].中國大學教學,2012(9).
[3]常廣炎.用VBA開發Excel、Access的數據處理軟件[J].數字技術與應用,2014(6).
本文受北京建筑大學教研項目《VBA程序設計實驗指導書》(項目編號C1309)資助。