王 勝
(安徽國防科技職業(yè)學(xué)院信息工程系,安徽 六安 237011)
高校網(wǎng)上錄取數(shù)據(jù)后續(xù)處理研究*
王 勝
(安徽國防科技職業(yè)學(xué)院信息工程系,安徽 六安 237011)
全國普通高校網(wǎng)上錄取工作已全面展開,但系統(tǒng)的錄取通知書打印功能過于單一,不能滿足各高校個(gè)性化打印的要求.通過對(duì)高校網(wǎng)上錄取數(shù)據(jù)進(jìn)行分析,采用VBA技術(shù)實(shí)現(xiàn)了錄取通知書個(gè)性化打印.
錄取通知書;VBA技術(shù);數(shù)據(jù)處理
隨著信息技術(shù)的飛速發(fā)展,高校招生錄取工作方式發(fā)生了改變,逐步采用遠(yuǎn)程網(wǎng)上錄取.目前,全國高校網(wǎng)上錄取使用由教育部主持的、清華大學(xué)研制開發(fā)的“全國普通高校招生網(wǎng)上錄取子系統(tǒng)”.該系統(tǒng)能滿足各高校招生工作的基本需要,但系統(tǒng)的錄取通知書打印功能過于單一,不能滿足各高校個(gè)性化打印的要求.本文對(duì)采用VBA技術(shù)實(shí)現(xiàn)錄取通知書的自動(dòng)生成做論述,希望能夠?yàn)楦鞲咝5匿浫?shù)據(jù)后續(xù)處理提供幫助.
利用網(wǎng)上錄取子系統(tǒng)完成錄取工作后,通過生成投檔單可以導(dǎo)出錄取數(shù)據(jù),其中包括信息表和代碼表.其中文件名以T_開頭的文件屬于信息表,以TD_開頭的文件屬于代碼表,主要數(shù)據(jù)表名稱與說明如表1[1].
表1 導(dǎo)出主要數(shù)據(jù)表
其中T_TDD.DBF文件中記錄了投檔學(xué)生的基本信息,除了考生號(hào)、身份證號(hào)、姓名、家庭地址、郵政編碼、收件人等信息可直接使用外,其他字段為代碼表示,這些代碼字段所表示的信息需要和其他相應(yīng)的DBF文件進(jìn)行關(guān)聯(lián)后才能使用.
制作錄取通知書需要包含學(xué)生準(zhǔn)考證號(hào)、姓名、身份證號(hào)、錄取專業(yè)、畢業(yè)學(xué)校等信息,郵寄錄取通知書信封則需要包含考生號(hào)、姓名、家庭地址、郵政編碼、收信人、電話聯(lián)系方式等信息,這些信息都需要通過相關(guān)的 DBF文件關(guān)聯(lián)后得到.
由于導(dǎo)出的數(shù)據(jù)表為DBF格式,DBF不是網(wǎng)絡(luò)數(shù)據(jù)庫,對(duì)SQL的操作也有較多限制,有必要做格式轉(zhuǎn)換.可以通過鏈接表的方式導(dǎo)入ACCESS中進(jìn)行數(shù)據(jù)庫格式轉(zhuǎn)換.
根據(jù)錄取通知書包含的信息,將T_TDD.DBF、T_JHK.DBF、TD_KLDM.DBF和 TD_XBDM.DBF文件鏈接到 ACCESS中,并在ACCESS的關(guān)系視圖中建立各表之間的關(guān)聯(lián),其中 T_TDD.DBF的“XBDM”字段和 TD_XBDM.DBF的“XBDM”字段相關(guān)聯(lián),T_TDD.DBF的“KLDM”字段和 TD_XBDM.DBF的“KLDM”字段相關(guān)聯(lián),T_TDD.DBF的“LQZY”字段和TD_XBDM.DBF的“ZYDH”字段相關(guān)聯(lián).
在ACCESS中通過查詢得到錄取通知書和郵寄錄取通知書信封所需要的信息.查詢的SQL語句如下∶
(1)錄取通知書信息查詢
SELECT T_TDD.KSH AS考生號(hào),T_TDD.XM AS姓名,T_TDD.SFZH AS身份證號(hào),T_JHK.ZYMC AS錄取專業(yè),T_TDD.ZXMC AS畢業(yè)學(xué)校
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學(xué)科,T_TDD.KSH AS考生號(hào),T_TDD.XM AS姓名,T_JHK.ZYMC AS錄取專業(yè),T_TDD.YZBM AS郵編,T_TDD.JTDZ AS郵寄地址,T_TDD.LXDH AS聯(lián)系電話,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)是微軟開發(fā)出來在其桌面應(yīng)用程序中執(zhí)行通用自動(dòng)化(OLE)任務(wù)的編程語言,主要用來擴(kuò)展Windows的應(yīng)用程式功能,特別是Microsoft Office軟件.它能使常用的過程或進(jìn)程自動(dòng)化,可以創(chuàng)建自定義的解決方案,最適用于定制已有的桌面應(yīng)用程序.經(jīng)過發(fā)展,Office中的四個(gè)軟件都有了自己的程序設(shè)計(jì)語言,分別稱為 Word Basic、Excel Basic、Access Basic 和 PowerPoint Basic,通常統(tǒng)一稱為 VBA(VB for Application)[2].通過使用 Word的VBA編程實(shí)現(xiàn)錄取通知書和信封的自動(dòng)生成.
根據(jù)高招錄取工作后續(xù)工作的實(shí)際需要,設(shè)計(jì)圖1的錄取通知書樣式.
圖1 錄取通知書樣式
圖2 錄取通知書模板
針對(duì)上述樣式,我們利用Word的域組件和VBA編程,設(shè)計(jì)了可進(jìn)行自定義的打印模板,如圖2,用戶可以以增加域組件的方式在模板上定義需要的信息.其中樣式上照片的處理,需要通過嵌套域的方法來實(shí)現(xiàn),具體方法如下∶
{INCLUDEPICTURE"photos/{MERGEFIELD"準(zhǔn)考證"}.jpg"*MERGEFORMAT}
使用VBA編程自定義Print函數(shù),通過調(diào)用上述模板和錄取通知書信息查詢結(jié)果實(shí)現(xiàn)錄取通知書的自動(dòng)生成和打印.
Sub Print()
ChangeFileOpenDirectory"D∶高招錄取系統(tǒng)"
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∶高招錄取系統(tǒng)高招錄取系統(tǒng).mdb",ConfirmConversions∶=False,ReadOnly∶=False,LinkToSource∶=True,AddToRecentFiles∶=False,PasswordDocument∶="",PasswordTemplate∶="",WritePasswordDocument∶="",WritePasswordT-emplate∶="",Revert∶=False,F(xiàn)ormat∶=wdOpenFormatAuto,Connection∶="Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=D∶高招錄取系統(tǒng)高招錄取系統(tǒng).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
程序運(yùn)行結(jié)果生成打印預(yù)覽如圖3.
通過實(shí)踐證明,該方法能有效地解決招生錄取工作中打印錄取通知書所遇到的問題,提高工作效率,減輕工作強(qiáng)度,并提供可靠的數(shù)據(jù)支持.
圖3 自動(dòng)生成打印預(yù)覽
[1]陳金剛,舒攀.高校網(wǎng)上錄取數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].廣西工學(xué)院學(xué)報(bào),2007,(18):117 -119.
[2]熊川,陳勝權(quán),楊端.基于word-VBA的試卷管理系統(tǒng)的實(shí)現(xiàn)[J].桂林航天工業(yè)高等??茖W(xué)校學(xué)報(bào),2008,(4):37-38.
(責(zé)任編校:晴川)
TP311
A
1008-4681(2011)05-0045-03
2011-08-10
安徽國防科技職業(yè)專業(yè)帶頭人培養(yǎng)基金(批準(zhǔn)號(hào)∶20110525)資助項(xiàng)目.
王勝(1979-),男,安徽六安人,安徽國防科技職業(yè)學(xué)院信息工程系講師,碩士生.研究方向∶計(jì)算機(jī)網(wǎng)絡(luò).