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