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