高洪皓 莊偉明 宋蘭華
摘 要: 在大多數院校,高級辦公自動化與宏應用課程作為公共基礎課開設,但在教學過程中普遍存在內容繁雜和進度滯后等問題。探討了以案例教學為向導組織VBA高級應用教學內容,對傳統的編程教學模式進行創新。針對宏與自動化錄制,宏代碼進階,控件與宏的綁定調用這三個部分,在課堂上實踐案例教學,能明顯增強學生對面向對象編程技術的理解,提高學生對編程語言的學習興趣,引導學生將辦公自動化知識應用到實踐中。
關鍵詞: 高級辦公自動化; VBA高級應用; 宏代碼; 案例教學
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2015)08-73-03
Research on applying advanced VBA application cases to non-computer majors teaching
Gao Honghao, Zhuang Weiming, Song Lanhua
(Shanghai university computing center, Shanghai 200444, China)
Abstract: Most colleges have opened the advanced office automation and macro application course as a public basic course, but the problem of content complex and progress lag is ubiquitous in the teaching process. This paper takes case teaching as the guide to organize the teaching content of VBA advanced application and to innovate the traditional programming course teaching mode. Taking the macro and its automatic recording, macro code upgrade, binding calls for control and macro three parts as the practice case taught in classroom, can enhance students' understanding of object-oriented programming technology, promote students' interest of learning programming language and guide students to apply the knowledge of office automation to practice.
Key words: advanced office automation; VBA; macro code; case teaching
0 引言
向非計算機專業的學生教授計算機基礎知識的目標是要讓學生掌握計算機應用技能,將自身的專業知識與計算機技能相結合并更好地服務于專業學科領域。不同專業背景的學生對學習和掌握計算機技能的期望不同,加之學生的計算機基礎也不盡相同。因此,在教學實踐過程中,對不同專業需要提出不同的要求,同時采用不同的教學方式。
上海大學實行大類招生,在課程改革不斷深入的過程中,提高學生學習興趣、培養學生自主學習、實踐及團隊協作的能力是擺在我們面前要解決的迫切任務[1]。高級辦公自動化與宏應用[2]作為非計算機專業學生的計算機基礎課,教師主要講授微軟Word、Excel、PowerPoint軟件應用,以及VBA高級應用的程序設計。VBA是Microsoft Office系列的內置編程語言,是開發語言VB(Visual Basic)的一個分支,可供用戶編寫宏,對Office進行二次開發。由于其是面向對象編程技術,并具有良好的可視化設計效果,因此適合作為非計算機專業學生學習編程的入門語言。由于課程覆蓋學生面大,涉及專業類別多,對于如何進行教學改革才能取得好的成果,多年來一直都在研究和探索。在教學過程中發現并歸納了一些問題。一方面,學生對于基礎辦公軟件操作的重視程度不高。對于這部分知識,學生往往淺嘗輒止且易于滿足,在工作中遇到實際問題時經常無法獨立解決。另一方面,絕大多數非計算機專業學生的編程基礎薄弱,學生對VBA高級應用部分的學習興趣低迷,部分學生甚至主動放棄學習這部分課程內容。在教學實踐過程中還發現,學生更加容易接受面向應用的案例教學,學生的課堂參與度較之枯燥的理論教學有明顯提高。目前,教學模式急需從以VBA理論講授為中心轉變到以案例實踐為中心[3-5],對課程的課內授課、課內實驗、課外實踐等內容作進一步調整與完善,同時設計課程有關的輔助軟件或硬件,以幫助學生更快更好地掌握課程內容,提高理論與實踐能力。
本文針對VBA高級應用部分的知識點,從教學實際問題出發,選取典型教學案例,構建課程的教學體系。以案例教學為向導,改變傳統的編程語言授課模式,力爭在較短時間內使教學質量有明顯地提高。
1 宏與自動化錄制
宏(Macro)是一個程序段,或一個子程序,其由一系列的命令(包括Word、Excel、PPT命令)和指令組成的,是完成特定任務的指令集合,實現任務自動化執行。有兩種創建宏的方法:錄制宏和編寫宏。錄制宏是指通過宏錄制器的方式進行:宏錄制器的打開需要選擇選項卡[視圖]→[宏]→[錄制宏],然后打開宏錄制器對話框。如圖1所示,是以Excel為例的錄制宏對話框,包括宏的名稱和保存位置。編寫宏是指在Visual Basic編輯器(VBE,Visual Basic Editor)上編寫宏代碼:可以按組合鍵“Alt+F11”快速打開編程環境。
圖1 以XLS為例的錄制宏對話框
錄制宏的過程,實際上就是將一系列操作過程記錄下來并由系統自動轉換為VBA語句。這種方法較為簡單,可以滿足學生的好奇心和吸引學生的注意力。為了降低學生的理解難度,教學過程中側重介紹宏錄制器,設計案例1并通過分析和現場操作來解釋錄制宏。
案例1 針對圖2的學生成績表,通過錄制宏的方法來設置總分和平均分。要求設置兩個按鈕,分別是“總分”和“平均分”,當執行“總分”宏時,統計表格中的總分,當執行“平均分”宏時,統計表格中的平均分。
3 控件與宏的綁定調用
宏的調用分兩種方式:一種是在VBE環境執行模塊,另外一種以Office的控件執行。在案例教學過程中,重點介紹Office控件的按鈕與宏調用功能綁定。
案例3:在Sheet1的B5單元格中創建一個 “計算器”按鈕,單擊該按鈕,彈出一個如圖3所示的計算器,并能進行簡單的四則運算。
圖3 計算器界面
首先,打開VBE環境需要執行選項卡[文件]→[選項]→[自定義功能區]→[開發工具],打開開發工具視圖選項卡。接著,單擊“插入|用戶窗體”,插入UserForm1窗體,選中UserForm1窗口,浮現工具箱(如圖4所示)。在主窗口中添加相應控件,根據圖3示例界面的需要修改控件屬性。