王 勝
(安徽國防科技職業學院信息工程系,安徽 六安 237011)
高校網上錄取數據后續處理研究*
王 勝
(安徽國防科技職業學院信息工程系,安徽 六安 237011)
全國普通高校網上錄取工作已全面展開,但系統的錄取通知書打印功能過于單一,不能滿足各高校個性化打印的要求.通過對高校網上錄取數據進行分析,采用VBA技術實現了錄取通知書個性化打印.
錄取通知書;VBA技術;數據處理
隨著信息技術的飛速發展,高校招生錄取工作方式發生了改變,逐步采用遠程網上錄取.目前,全國高校網上錄取使用由教育部主持的、清華大學研制開發的“全國普通高校招生網上錄取子系統”.該系統能滿足各高校招生工作的基本需要,但系統的錄取通知書打印功能過于單一,不能滿足各高校個性化打印的要求.本文對采用VBA技術實現錄取通知書的自動生成做論述,希望能夠為各高校的錄取數據后續處理提供幫助.
利用網上錄取子系統完成錄取工作后,通過生成投檔單可以導出錄取數據,其中包括信息表和代碼表.其中文件名以T_開頭的文件屬于信息表,以TD_開頭的文件屬于代碼表,主要數據表名稱與說明如表1[1].

表1 導出主要數據表
其中T_TDD.DBF文件中記錄了投檔學生的基本信息,除了考生號、身份證號、姓名、家庭地址、郵政編碼、收件人等信息可直接使用外,其他字段為代碼表示,這些代碼字段所表示的信息需要和其他相應的DBF文件進行關聯后才能使用.
制作錄取通知書需要包含學生準考證號、姓名、身份證號、錄取專業、畢業學校等信息,郵寄錄取通知書信封則需要包含考生號、姓名、家庭地址、郵政編碼、收信人、電話聯系方式等信息,這些信息都需要通過相關的 DBF文件關聯后得到.
由于導出的數據表為DBF格式,DBF不是網絡數據庫,對SQL的操作也有較多限制,有必要做格式轉換.可以通過鏈接表的方式導入ACCESS中進行數據庫格式轉換.
根據錄取通知書包含的信息,將T_TDD.DBF、T_JHK.DBF、TD_KLDM.DBF和 TD_XBDM.DBF文件鏈接到 ACCESS中,并在ACCESS的關系視圖中建立各表之間的關聯,其中 T_TDD.DBF的“XBDM”字段和 TD_XBDM.DBF的“XBDM”字段相關聯,T_TDD.DBF的“KLDM”字段和 TD_XBDM.DBF的“KLDM”字段相關聯,T_TDD.DBF的“LQZY”字段和TD_XBDM.DBF的“ZYDH”字段相關聯.
在ACCESS中通過查詢得到錄取通知書和郵寄錄取通知書信封所需要的信息.查詢的SQL語句如下∶
(1)錄取通知書信息查詢
SELECT T_TDD.KSH AS考生號,T_TDD.XM AS姓名,T_TDD.SFZH AS身份證號,T_JHK.ZYMC AS錄取專業,T_TDD.ZXMC AS畢業學校
FROM((T_TDD INNER JOIN T_JHK ON T_TDD.LQZY=T_JHK.ZYDH)INNER JOIN TD_KLDM ON T_TDD.KLDM=TD_KLDM.KLDM)INNER JOIN TD_XBDM ON T_TDD.XBDM=TD_XBDM.XBDM;
(2)郵寄錄取通知書信封查詢
SELECT TD_KLDM.KLMC AS學科,T_TDD.KSH AS考生號,T_TDD.XM AS姓名,T_JHK.ZYMC AS錄取專業,T_TDD.YZBM AS郵編,T_TDD.JTDZ AS郵寄地址,T_TDD.LXDH AS聯系電話,T_TDD.SJR AS收信人
FROM((T_TDD INNER JOIN T_JHK ON T_TDD.LQZY=T_JHK.ZYDH)INNER JOIN TD_KLDM ON T_TDD.KLDM=TD_KLDM.KLDM)INNER JOIN TD_XBDM ON T_TDD.XBDM=TD_XBDM.XBDM.
VBA(Visual Basic For Applications)是微軟開發出來在其桌面應用程序中執行通用自動化(OLE)任務的編程語言,主要用來擴展Windows的應用程式功能,特別是Microsoft Office軟件.它能使常用的過程或進程自動化,可以創建自定義的解決方案,最適用于定制已有的桌面應用程序.經過發展,Office中的四個軟件都有了自己的程序設計語言,分別稱為 Word Basic、Excel Basic、Access Basic 和 PowerPoint Basic,通常統一稱為 VBA(VB for Application)[2].通過使用 Word的VBA編程實現錄取通知書和信封的自動生成.
根據高招錄取工作后續工作的實際需要,設計圖1的錄取通知書樣式.

圖1 錄取通知書樣式

圖2 錄取通知書模板
針對上述樣式,我們利用Word的域組件和VBA編程,設計了可進行自定義的打印模板,如圖2,用戶可以以增加域組件的方式在模板上定義需要的信息.其中樣式上照片的處理,需要通過嵌套域的方法來實現,具體方法如下∶
{INCLUDEPICTURE"photos/{MERGEFIELD"準考證"}.jpg"*MERGEFORMAT}
使用VBA編程自定義Print函數,通過調用上述模板和錄取通知書信息查詢結果實現錄取通知書的自動生成和打印.
Sub Print()
ChangeFileOpenDirectory"D∶高招錄取系統"
Documents.Open FileName∶="模板.doc",ConfirmConversions∶=False,ReadOnly∶=False,AddToRecentFiles∶=False,PasswordDocument∶="",PasswordTemplate∶="",Revert∶=False,WritePasswordDocument∶="",WritePasswordTemplate∶="", Format∶=wdOpenFormatAuto, XMLTransform∶=""
ActiveDocument.MailMerge.MainDocumentType= wd-FormLetters
ActiveDocument.MailMerge.OpenDataSource Name∶="D∶高招錄取系統高招錄取系統.mdb",ConfirmConversions∶=False,ReadOnly∶=False,LinkToSource∶=True,AddToRecentFiles∶=False,PasswordDocument∶="",PasswordTemplate∶="",WritePasswordDocument∶="",WritePasswordT-emplate∶="",Revert∶=False,Format∶=wdOpenFormatAuto,Connection∶="Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=D∶高招錄取系統高招錄取系統.mdb;Mode=Read;Extended Properties="""";Jet OLEDB∶System database="""";Jet OLEDB∶Registry Path="""";Jet OLEDB∶Database Password="""";Jet OLEDB∶Engine Type=5;Jet OLEDB∶Database",SQLStatement∶="SELECT* FROM`錄取通知書信息查詢`",SQLStatement1∶="",SubType∶=wdMergeSubTypeAccess
With ActiveDocument.MailMerge
.Destination=wdSendToNewDocument
.SuppressBlankLines=True
With.DataSource
.FirstRecord=wdDefaultFirstRecord
.LastRecord=wdDefaultLastRecord
End With
.Execute Pause∶=False
End With
Selection.WholeStory
Selection.Fields.Update End Sub
程序運行結果生成打印預覽如圖3.
通過實踐證明,該方法能有效地解決招生錄取工作中打印錄取通知書所遇到的問題,提高工作效率,減輕工作強度,并提供可靠的數據支持.

圖3 自動生成打印預覽
[1]陳金剛,舒攀.高校網上錄取數據處理系統的設計與實現[J].廣西工學院學報,2007,(18):117 -119.
[2]熊川,陳勝權,楊端.基于word-VBA的試卷管理系統的實現[J].桂林航天工業高等專科學校學報,2008,(4):37-38.
(責任編校:晴川)
TP311
A
1008-4681(2011)05-0045-03
2011-08-10
安徽國防科技職業專業帶頭人培養基金(批準號∶20110525)資助項目.
王勝(1979-),男,安徽六安人,安徽國防科技職業學院信息工程系講師,碩士生.研究方向∶計算機網絡.