吳麗彬
基于Excel的畢業證書查詢系統
吳麗彬

畢業證書發放與查詢是學校日常管理工作的重要內容,要想知道某位學生是哪一年畢業的,以及是否符合學校畢業證書發放條件,傳統的查詢方法是采用逐個工作簿查找的方式,工作量大且查詢效率低,給教務管理人員的工作帶來極大的不便。
經過研究發現,學生的畢業信息以及技能鑒定情況均采用Excel表格的形式存放,而Excel提供了強大的編程功能,筆者深入研究了Excel的功能,結合學校實際情況,開發出了畢業證書查詢系統,使教務管理人員從機械的、重復的查詢工作中解脫出來,提高了工作效率。本文詳細介紹基于Excel的畢業證書信息查詢系統的設計與制作方法。
本系統基于Excel2007技術設計開發。查詢系統由原有的多個畢業生信息工作簿、多個技能鑒定情況工作簿和一個畢業證書查詢系統工作簿構成,分別是查詢系統的數據源和查詢頁。
(一)畢業證書查詢系統查詢頁構成
查詢頁控件由六個ActiveX控件組成,分別是兩個圖片控件(對界面適當裝飾)、兩個標簽控件(對系統適當說明)、一個文本框控件(用于輸入學生姓名)以及一個命令按鈕控件(調用查找程序)組成。
(二)畢業證書查詢系統工作流程
在文本框控件中輸入學生姓名,點擊“查詢”按鈕,程序將會從“畢業生信息”文件夾中,依次將各個Excel工作簿打開,依次在各個工作表中查找此學生,如果查到了此學生,則程序會自動將此學生的信息復制到“畢業證書查詢系統”中,直至“畢業生信息”文件夾下的所有工作簿查找完畢。如圖1所示。

(一)程序設計語句準備
Option Explicit:該語句在模塊級別中使用,強制顯式聲明模塊中的所有變量。Option Explicit語句必須寫在模塊的所有過程之前。使用Option Explicit可以避免鍵入已有變量時拼錯。
For Each……Next:針對一個數組或集合中的每個元素,重復執行一組語句。例如:For Each sht In Sheets……Next,目的是依次對工作簿中的各個工作表執行一組語句。
With語句:該語句可以對某個對象執行一系列的語句,而不用重復指出對象的名稱。例如,要改變一個對象的多個屬性,可以在With控制結構中加上屬性的賦值語句,這時候只是引用對象一次而不是在每個屬性賦值時都要引用它。
On Error Resume Next:當加上該語句后,如果后面的程序出現“運行時錯誤”時,會繼續運行,不中斷,并且Err對象保存了“錯誤信息”,當Err對象等于0,表示未出錯,如果不為0,則表示出錯。
Do While條件語句……Loop:當條件語句為真時,執行一組語句,直至條件語句為假。
(二)數據源準備
新建一個文件夾,重命名為“畢業生信息”,將學校各屆畢業生信息以及技能鑒定成績的Excel文件復制到此文件夾中作為數據源。
(三)查詢界面制作
在“畢業生信息”文件夾旁,新建一個啟用宏的Excel工作簿,命名為畢業證書查詢系統,打開此工作簿,將“sheet1”工作表重命名為“查詢頁”,如圖2所示單擊“開發工具”選項卡,單擊“插入”,依次在ActiveX控件中選擇兩個圖片控件、兩個標簽控件、一個文本框控件以及一個命令按鈕控件,添加到“查詢頁”工作表中,依次右擊兩個標簽控件,在出現的快捷菜單中選擇“標簽對象”→“編輯”,將兩個標簽顯示的文字分別更改為“畢業證書查詢系統”、“姓名:”,依次點擊兩個標簽控件,在出現的快捷菜單中選擇“屬性”,如圖3所示,將兩個標簽顯示的字體更改為“楷體”,字號更改為“一號”,顏色更改為“紅色”。右擊命令按鈕控件,在出現的快捷菜單中選擇“命令按鈕對象”→“編輯”,將按鈕顯示的文字更改為“查找”。單擊文本框控件,在名稱框中,將文本框控件重命名為“TextBox_姓名”,單擊命令按鈕控件,在名稱框中,將命令按鈕控件重命名為“Command-Button_查找”,接下來,將六個控件的布局適當調整,如圖4所示。

圖2

圖3

圖4
(四)程序代碼
如圖5,右擊“查詢頁”工作表,在出現的快捷菜單中單擊“查看代碼”,出現了Visual Basic編輯器,在編輯器代碼框中,輸入以下代碼:
‘此代碼是單擊“查找”命令按鈕的執行程序


‘將文本框中的內容賦值給“姓名”變量

‘姓名不為空,才能調用“查找程序”
‘否則,如果姓名為空,則提示“請輸入學生姓名”

'強制進行變量聲明,養成編程好習慣

要查找的文件夾名稱="畢業生信息"
'刪除原有的查詢數據,

'行號用于控制著復制得到的學生信息在《畢業證書查詢系統》中粘貼信息的位置

行號=11
'定義用于存入文件夾的路徑變量名稱

'定義用于存放文件夾下excel文件的變量名稱


圖5

'循環語句,打開每一個文件夾下的每一個excel文件

'打開excel文件

'定義用于存放工作表表名的變量名稱

'循環語句,對一個工作簿中的每一個工作表進行查找。

'查找學生

'如果工作表中找不到該學生,則跳過復制操作

'如果能查找到學生信息,則復制信息

'如果能查找到學生信息,則在《畢業證查詢系統》工作簿中粘貼信息

'激活畢業證書查詢系統工作簿

'將查詢到的工作簿名稱和工作表名稱粘貼到《畢業證查詢系統》工作簿中

'將查詢到的學生信息粘貼到《畢業證查詢系統》工作簿中

'清除剪貼板內容

'關閉已經打開工作簿,并且不保存,



如圖6,單擊“開發工具”選項卡,單擊“宏安全性”,在信任中心的宏設置中,單擊“啟用所有宏”、“確定”。
關閉“畢業證書查詢系統”工作簿后,再打開。
在文本框控件中輸入學生姓名“張三”,點擊“查詢”按鈕,程序將會把“畢業生信息”文件夾中的所有工作簿的所有工作表的有關“張三”的信息全部復制出來,查詢速度快、效率高。
1.輸入的姓名以及數據源中的姓名不允許有空格,否則將無法查找到該學生。
2.因為該程序只會查找與學生姓名一致的一條信息,所以如果同一個工作表中有出現同名的情況下,則需要對查尋到的結果進行仔細甄別。
3.如果數據源里有身份證號碼,那么在文本框中輸入身份證號碼,則該程序會執行更準確。
4.查詢系統下載地址:http://pan.baidu.com/s/1i52NeL3。
該畢業證書查詢系統基于Excel技術開發,合理利用了畢業生信息的Excel表格,不需要專門的程序設計軟件,只要熟悉Excel軟件操作,就能快速制作查詢頁面和程序錄入。制作簡單,維護方便,查詢快捷,是一個經濟實用的畢業證書查詢系統。
(作者單位:福建技師學院)
[1]Excel Home編.別怕,Excel VBA其實很簡單[M].人民郵電出版社,2012.