吳麗彬
基于Excel的畢業(yè)證書(shū)查詢系統(tǒng)
吳麗彬
畢業(yè)證書(shū)發(fā)放與查詢是學(xué)校日常管理工作的重要內(nèi)容,要想知道某位學(xué)生是哪一年畢業(yè)的,以及是否符合學(xué)校畢業(yè)證書(shū)發(fā)放條件,傳統(tǒng)的查詢方法是采用逐個(gè)工作簿查找的方式,工作量大且查詢效率低,給教務(wù)管理人員的工作帶來(lái)極大的不便。
經(jīng)過(guò)研究發(fā)現(xiàn),學(xué)生的畢業(yè)信息以及技能鑒定情況均采用Excel表格的形式存放,而Excel提供了強(qiáng)大的編程功能,筆者深入研究了Excel的功能,結(jié)合學(xué)校實(shí)際情況,開(kāi)發(fā)出了畢業(yè)證書(shū)查詢系統(tǒng),使教務(wù)管理人員從機(jī)械的、重復(fù)的查詢工作中解脫出來(lái),提高了工作效率。本文詳細(xì)介紹基于Excel的畢業(yè)證書(shū)信息查詢系統(tǒng)的設(shè)計(jì)與制作方法。
本系統(tǒng)基于Excel2007技術(shù)設(shè)計(jì)開(kāi)發(fā)。查詢系統(tǒng)由原有的多個(gè)畢業(yè)生信息工作簿、多個(gè)技能鑒定情況工作簿和一個(gè)畢業(yè)證書(shū)查詢系統(tǒng)工作簿構(gòu)成,分別是查詢系統(tǒng)的數(shù)據(jù)源和查詢頁(yè)。
(一)畢業(yè)證書(shū)查詢系統(tǒng)查詢頁(yè)構(gòu)成
查詢頁(yè)控件由六個(gè)ActiveX控件組成,分別是兩個(gè)圖片控件(對(duì)界面適當(dāng)裝飾)、兩個(gè)標(biāo)簽控件(對(duì)系統(tǒng)適當(dāng)說(shuō)明)、一個(gè)文本框控件(用于輸入學(xué)生姓名)以及一個(gè)命令按鈕控件(調(diào)用查找程序)組成。
(二)畢業(yè)證書(shū)查詢系統(tǒng)工作流程
在文本框控件中輸入學(xué)生姓名,點(diǎn)擊“查詢”按鈕,程序?qū)?huì)從“畢業(yè)生信息”文件夾中,依次將各個(gè)Excel工作簿打開(kāi),依次在各個(gè)工作表中查找此學(xué)生,如果查到了此學(xué)生,則程序會(huì)自動(dòng)將此學(xué)生的信息復(fù)制到“畢業(yè)證書(shū)查詢系統(tǒng)”中,直至“畢業(yè)生信息”文件夾下的所有工作簿查找完畢。如圖1所示。
(一)程序設(shè)計(jì)語(yǔ)句準(zhǔn)備
Option Explicit:該語(yǔ)句在模塊級(jí)別中使用,強(qiáng)制顯式聲明模塊中的所有變量。Option Explicit語(yǔ)句必須寫在模塊的所有過(guò)程之前。使用Option Explicit可以避免鍵入已有變量時(shí)拼錯(cuò)。
For Each……Next:針對(duì)一個(gè)數(shù)組或集合中的每個(gè)元素,重復(fù)執(zhí)行一組語(yǔ)句。例如:For Each sht In Sheets……Next,目的是依次對(duì)工作簿中的各個(gè)工作表執(zhí)行一組語(yǔ)句。
With語(yǔ)句:該語(yǔ)句可以對(duì)某個(gè)對(duì)象執(zhí)行一系列的語(yǔ)句,而不用重復(fù)指出對(duì)象的名稱。例如,要改變一個(gè)對(duì)象的多個(gè)屬性,可以在With控制結(jié)構(gòu)中加上屬性的賦值語(yǔ)句,這時(shí)候只是引用對(duì)象一次而不是在每個(gè)屬性賦值時(shí)都要引用它。
On Error Resume Next:當(dāng)加上該語(yǔ)句后,如果后面的程序出現(xiàn)“運(yùn)行時(shí)錯(cuò)誤”時(shí),會(huì)繼續(xù)運(yùn)行,不中斷,并且Err對(duì)象保存了“錯(cuò)誤信息”,當(dāng)Err對(duì)象等于0,表示未出錯(cuò),如果不為0,則表示出錯(cuò)。
Do While條件語(yǔ)句……Loop:當(dāng)條件語(yǔ)句為真時(shí),執(zhí)行一組語(yǔ)句,直至條件語(yǔ)句為假。
(二)數(shù)據(jù)源準(zhǔn)備
新建一個(gè)文件夾,重命名為“畢業(yè)生信息”,將學(xué)校各屆畢業(yè)生信息以及技能鑒定成績(jī)的Excel文件復(fù)制到此文件夾中作為數(shù)據(jù)源。
(三)查詢界面制作
在“畢業(yè)生信息”文件夾旁,新建一個(gè)啟用宏的Excel工作簿,命名為畢業(yè)證書(shū)查詢系統(tǒng),打開(kāi)此工作簿,將“sheet1”工作表重命名為“查詢頁(yè)”,如圖2所示單擊“開(kāi)發(fā)工具”選項(xiàng)卡,單擊“插入”,依次在ActiveX控件中選擇兩個(gè)圖片控件、兩個(gè)標(biāo)簽控件、一個(gè)文本框控件以及一個(gè)命令按鈕控件,添加到“查詢頁(yè)”工作表中,依次右擊兩個(gè)標(biāo)簽控件,在出現(xiàn)的快捷菜單中選擇“標(biāo)簽對(duì)象”→“編輯”,將兩個(gè)標(biāo)簽顯示的文字分別更改為“畢業(yè)證書(shū)查詢系統(tǒng)”、“姓名:”,依次點(diǎn)擊兩個(gè)標(biāo)簽控件,在出現(xiàn)的快捷菜單中選擇“屬性”,如圖3所示,將兩個(gè)標(biāo)簽顯示的字體更改為“楷體”,字號(hào)更改為“一號(hào)”,顏色更改為“紅色”。右擊命令按鈕控件,在出現(xiàn)的快捷菜單中選擇“命令按鈕對(duì)象”→“編輯”,將按鈕顯示的文字更改為“查找”。單擊文本框控件,在名稱框中,將文本框控件重命名為“TextBox_姓名”,單擊命令按鈕控件,在名稱框中,將命令按鈕控件重命名為“Command-Button_查找”,接下來(lái),將六個(gè)控件的布局適當(dāng)調(diào)整,如圖4所示。
圖2
圖3
圖4
(四)程序代碼
如圖5,右擊“查詢頁(yè)”工作表,在出現(xiàn)的快捷菜單中單擊“查看代碼”,出現(xiàn)了Visual Basic編輯器,在編輯器代碼框中,輸入以下代碼:
‘此代碼是單擊“查找”命令按鈕的執(zhí)行程序
‘將文本框中的內(nèi)容賦值給“姓名”變量
‘姓名不為空,才能調(diào)用“查找程序”
‘否則,如果姓名為空,則提示“請(qǐng)輸入學(xué)生姓名”
'強(qiáng)制進(jìn)行變量聲明,養(yǎng)成編程好習(xí)慣
要查找的文件夾名稱="畢業(yè)生信息"
'刪除原有的查詢數(shù)據(jù),
'行號(hào)用于控制著復(fù)制得到的學(xué)生信息在《畢業(yè)證書(shū)查詢系統(tǒng)》中粘貼信息的位置
行號(hào)=11
'定義用于存入文件夾的路徑變量名稱
'定義用于存放文件夾下excel文件的變量名稱
圖5
'循環(huán)語(yǔ)句,打開(kāi)每一個(gè)文件夾下的每一個(gè)excel文件
'打開(kāi)excel文件
'定義用于存放工作表表名的變量名稱
'循環(huán)語(yǔ)句,對(duì)一個(gè)工作簿中的每一個(gè)工作表進(jìn)行查找。
'查找學(xué)生
'如果工作表中找不到該學(xué)生,則跳過(guò)復(fù)制操作
'如果能查找到學(xué)生信息,則復(fù)制信息
'如果能查找到學(xué)生信息,則在《畢業(yè)證查詢系統(tǒng)》工作簿中粘貼信息
'激活畢業(yè)證書(shū)查詢系統(tǒng)工作簿
'將查詢到的工作簿名稱和工作表名稱粘貼到《畢業(yè)證查詢系統(tǒng)》工作簿中
'將查詢到的學(xué)生信息粘貼到《畢業(yè)證查詢系統(tǒng)》工作簿中
'清除剪貼板內(nèi)容
'關(guān)閉已經(jīng)打開(kāi)工作簿,并且不保存,
如圖6,單擊“開(kāi)發(fā)工具”選項(xiàng)卡,單擊“宏安全性”,在信任中心的宏設(shè)置中,單擊“啟用所有宏”、“確定”。
關(guān)閉“畢業(yè)證書(shū)查詢系統(tǒng)”工作簿后,再打開(kāi)。
在文本框控件中輸入學(xué)生姓名“張三”,點(diǎn)擊“查詢”按鈕,程序?qū)?huì)把“畢業(yè)生信息”文件夾中的所有工作簿的所有工作表的有關(guān)“張三”的信息全部復(fù)制出來(lái),查詢速度快、效率高。
1.輸入的姓名以及數(shù)據(jù)源中的姓名不允許有空格,否則將無(wú)法查找到該學(xué)生。
2.因?yàn)樵摮绦蛑粫?huì)查找與學(xué)生姓名一致的一條信息,所以如果同一個(gè)工作表中有出現(xiàn)同名的情況下,則需要對(duì)查尋到的結(jié)果進(jìn)行仔細(xì)甄別。
3.如果數(shù)據(jù)源里有身份證號(hào)碼,那么在文本框中輸入身份證號(hào)碼,則該程序會(huì)執(zhí)行更準(zhǔn)確。
4.查詢系統(tǒng)下載地址:http://pan.baidu.com/s/1i52NeL3。
該畢業(yè)證書(shū)查詢系統(tǒng)基于Excel技術(shù)開(kāi)發(fā),合理利用了畢業(yè)生信息的Excel表格,不需要專門的程序設(shè)計(jì)軟件,只要熟悉Excel軟件操作,就能快速制作查詢頁(yè)面和程序錄入。制作簡(jiǎn)單,維護(hù)方便,查詢快捷,是一個(gè)經(jīng)濟(jì)實(shí)用的畢業(yè)證書(shū)查詢系統(tǒng)。
(作者單位:福建技師學(xué)院)
[1]Excel Home編.別怕,Excel VBA其實(shí)很簡(jiǎn)單[M].人民郵電出版社,2012.