劉曉燕
摘 要 Excel 2007是office應用程序其中一款功能強大的辦公軟件,具有數(shù)據(jù)計算、數(shù)據(jù)統(tǒng)計分析和信息保存等功能;同時,它還是一個開放的平臺,用戶可以使用其內(nèi)嵌的VBA程序進行二次開發(fā)。本文就如何利用Excel2007和VBA編程平臺進行二次開發(fā),設計與實現(xiàn)一個學生成績管理系統(tǒng)進行簡單地闡述。
關鍵詞 VBA EXCEL 學生成績
中圖分類號:TP311.52 文獻標識碼:A
1 VBA簡介
VBA是Visual Basic For Application的簡稱, VB的子集,是Office應用程序內(nèi)嵌的一種開發(fā)工具,使用VBA編程可以有效地自定義和擴展Excel等office應用程序的功能。
2 系統(tǒng)的設計思想
學生成績管理,是一項繁瑣且耗時的工作,大多數(shù)成績管理員統(tǒng)計成績時都是利用Excel公式進行重復地操作,工作效率不高。本系統(tǒng)主要是想通過VBA編程對Excel2007進行二次開發(fā),采用VBA按鈕控件創(chuàng)建一個學生成績管理系統(tǒng),以便成績管理員更有效地管理成績。
3 系統(tǒng)的分析與設計
3.1 系統(tǒng)分析
該系統(tǒng)的使用者是教務成績管理員,要求系統(tǒng)方便實用,能簡化某些重復的操作,對系統(tǒng)功能分析需求如下:
(1)能完成各班學生基本信息的錄入、刪除及修改,完成各科成績的登記;
(2)能方便有效地查詢成績;
(3)能自動進行成績的分析和統(tǒng)計;
(4)能生成各班級成績匯總表。
3.2 模塊設計
根據(jù)系統(tǒng)分析需求,設置“學生信息管理”、“學生成績登記”、“學生成績查詢”、“成績統(tǒng)計分析”、“打印成績單”和“退出系統(tǒng)”6個模塊。下面簡單介紹一下這6個模塊各自的功能設計:
(1)學生信息管理:運行系統(tǒng)進入主界面,單擊該模塊按鈕則激活一個“學生信息管理”的窗體,再通過“學生信息管理”窗體選擇相應班級及信息后,激活各個班級工作表。
(2)學生成績登記:完成學生各學科成績的登記、修改等功能。單擊該模塊按鈕時激活一個“學生成績登記”工作表,工作表中顯示有各班級按鈕,單擊相應按鈕便可在相應的班級成績信息表中直接錄入成績。(成績信息表顯示有“學生班級”、“學號”、“姓名”、“性別”和各學科名稱等)。
(3)學生成績查詢:根據(jù)設定的條件進行查詢,可以按班級名稱或學生姓名學號查詢個人成績,也可以按學期進行查詢各班級所有學生成績匯總等等。單擊該模塊時激活 “學生成績查詢”工作表,單擊工作表中不同的查詢條件按鈕則會彈出相應的查詢選擇窗體,根據(jù)窗體提示選擇好后,相關成績信息便能直接顯示在“學生成績查詢”工作表中。
(4)成績統(tǒng)計分析:根據(jù)錄入的成績,統(tǒng)計出各科目的平均分、及格率、最高分數(shù)、最低分數(shù)和各分數(shù)段的分布情況。
(5)打印成績單:生成班級成績單報表,并打印出來。
(6)退出系統(tǒng):學生成績都保存在本系統(tǒng)工作簿的相關工作表中,當對學生成績進行了錄入、刪除和修改等操作時必須保存。因此,該模塊的功能則是單擊按鈕時,系統(tǒng)會先對工作簿進行保存,然后再退出系統(tǒng)。
表格是Excel的基礎,要完成各模塊的編輯與實施,需使用Excel2007創(chuàng)建相關工作表并將可共享使用的信息先錄入及編輯,將表格框架搭建好,再使用內(nèi)嵌的VBA編輯宏,對表格進行處理。
3.3 主界面的設計
創(chuàng)建一個名為“學生成績管理系統(tǒng)”的工作簿,將第一個工作表設置為主界面,重命名為“封面”,利用插入藝術字和自選圖形等功能添加美化主界面的背景及按鈕模塊,再分別為各模塊按鈕指定相應的VBA宏代碼。主界面效果圖如下圖1:
封面是對整個系統(tǒng)的控制,在打開系統(tǒng)工作簿時,會自動激活“封面”工作表。所以必須將該工作表進行保護,同時將工作簿中除“封面”工作表外的所有工作表隱藏起來,以保護其中的數(shù)據(jù)。因此,需要為工作簿對象設置Open事件。
4 VBA程序編寫
由于代碼量較多,本文只對部分代碼進行摘錄。
4.1為工作簿對象設置Open事件的代碼
Private Sub Workbook_Open()
Dim i As Integer
Worksheets("封面").Activate,激活工作表"封面"
Worksheets("封面").Protect,保護工作表"封面"
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "封面" Then Worksheets(i).Visible = False '保護除工作表"封面"外的所有工作表
End If
Next i
End Sub
4.2為模塊按鈕指定宏的代碼
Sub 學生信息管理() '"學生信息管理"按鈕
學生管理窗口.Show
End Sub
Sub登記學生成績 ()'"學生成績登記"按鈕
學生成績登記工作表.Show
End Sub
Sub 查詢學生成績()'"學生成績查詢"按鈕
學生成績查詢工作表.Show
End Sub
Sub 成績統(tǒng)計分析() '"成績統(tǒng)計分析"按鈕
成績統(tǒng)計分析窗口.Show
End Sub
Sub 打印成績單()'"打印成績單"按鈕
打印成績單窗口.Show
End Sub
4.3成績統(tǒng)計分析模塊按鈕代碼
Sub LIK3()'成績統(tǒng)計分析按鍵,
On Error Resume Next
Sheets("成績統(tǒng)計分析").Visible = True
Sheets("成績統(tǒng)計分析").Select
'Sheets("成績統(tǒng)計分析").Cells.Clear
Sheets("成績統(tǒng)計分析").Cells(1, 1).Select
Kmpj_Form.Show
End Sub
4.4退出系統(tǒng)代碼
Sub File_Close() '退出系統(tǒng)'
Application.ScreenUpdating = True
ActiveWorkbook.Save
Application.Quit
End Sub
5 結語
本文分別從系統(tǒng)功能模塊的設計、主界面的設計和Excel VBA編程幾方面進行闡述,采用Excel2007+VBA編程開發(fā)一個學生成績管理系統(tǒng)的設計與實現(xiàn)。該系統(tǒng)用戶界面友好,實用性強,實現(xiàn)了教務部門的實際需求,簡化了成績管理員大部分重復的操作工作,使成績管理員既可根據(jù)平時使用Excel的習慣和方式操作,并充分發(fā)揮Excel的VBA編程功能,又能大大提高了工作效率。
參考文獻
[1] ExcelHome.Excel 2007 VBA實戰(zhàn)技巧精粹[M].人民郵電出版社,2013(12).
[2] ExcelHome.別怕,Excel VBA其實很簡單[M].人民郵電出版社,2012(10).
[3] 馬文靜.計算機應用基礎[M].江蘇教育出版社,2013(3).