馬致明 陳興 林雨萌
摘要:為了有效地檢索體溫測(cè)溫系統(tǒng)產(chǎn)生的大量數(shù)據(jù),方便每日統(tǒng)計(jì)和分析,更好地做好學(xué)校新冠肺炎防疫工作,利用Ex-cel VBA開(kāi)發(fā)了體溫檢測(cè)統(tǒng)計(jì)報(bào)表軟件并投入使用,可統(tǒng)計(jì)所需的各種數(shù)據(jù),并生成體溫檢測(cè)排行榜報(bào)表和體溫檢測(cè)報(bào)告單,相關(guān)設(shè)計(jì)思路及制作技術(shù)做了詳細(xì)的介紹。
關(guān)鍵詞:體測(cè)檢測(cè);統(tǒng)計(jì)報(bào)表;Excel;VBA編程;數(shù)據(jù)庫(kù);檢索
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)33-0209-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 前言
2020年,新冠疫情肆虐神州大地,在見(jiàn)證一個(gè)個(gè)英雄無(wú)畏的“逆行者”的同時(shí),我們更懂得了“眾志成城,共克時(shí)艱”的意義所在。突如其來(lái)的疫情擋不住莘莘學(xué)子求知的渴望,摧不垮廣大師生必勝的信念。按照疫情防控期間“停課不停教,停課不停學(xué)”的指示精神,各級(jí)各類學(xué)校積極響應(yīng),2020年春季學(xué)期一開(kāi)始幾乎所有學(xué)校都開(kāi)啟了線上授課模式。當(dāng)疫情得到有效控制后,有一部分學(xué)?;謴?fù)了線下授課模式,并對(duì)師生員工進(jìn)行封閉式管理。
進(jìn)行封閉式管理的學(xué)校,根據(jù)疫情防控要求,師生員工每日要進(jìn)行兩到三次的體溫檢測(cè),隨之而來(lái)的智能??等四槣y(cè)溫系統(tǒng)等便出現(xiàn)在學(xué)校各種場(chǎng)所,使師生員工每日測(cè)溫變得更加準(zhǔn)確、方便、快捷。但是,測(cè)溫系統(tǒng)每日都會(huì)產(chǎn)生大量的測(cè)溫?cái)?shù)據(jù),有些人員在同一時(shí)段可能會(huì)出現(xiàn)多次重復(fù)的記錄,有些人員可能出現(xiàn)不測(cè)或漏測(cè)的情況,對(duì)于人數(shù)眾多的學(xué)校,從這些海量的數(shù)據(jù)中進(jìn)行必要的統(tǒng)計(jì)、分析和檢索是十分必要的,這樣可以更加有效地監(jiān)管各個(gè)班級(jí)(單位)每一個(gè)人員的測(cè)溫情況,及時(shí)發(fā)現(xiàn)和督促未測(cè)溫的人員,更好地做好防疫工作。
為此,我們利用Excel的數(shù)據(jù)庫(kù)功能和VBA編程功能第一時(shí)間開(kāi)發(fā)了一款針對(duì)學(xué)校的體溫檢測(cè)統(tǒng)計(jì)報(bào)表軟件,可從測(cè)溫平臺(tái)導(dǎo)出的海量測(cè)溫?cái)?shù)據(jù)中檢索出本學(xué)院(部門(mén))中的各班級(jí)(單位)每日未測(cè)溫或測(cè)溫次數(shù)不夠的人員信息,并統(tǒng)計(jì)出各班級(jí)(單位)的應(yīng)測(cè)人次、實(shí)測(cè)人次、檢溫率等數(shù)據(jù),形成本學(xué)院(部門(mén))的日體溫檢測(cè)排行榜報(bào)表和體溫檢測(cè)報(bào)告單,軟件投入使用后給學(xué)院(部門(mén))管理人員提供了極大的便利,現(xiàn)將其設(shè)計(jì)思想和制作方法介紹給各位同行,希望對(duì)大家能有所啟示。
2 Excel VBA宏編程方法
在Excel VBA編程環(huán)境中T作簿W(wǎng)orkbook、T作表Work-sheet、區(qū)域Range、單元格Cell都是現(xiàn)成的對(duì)象,編程的時(shí)候可以直接利用;只是這些現(xiàn)成對(duì)象中除Worksheet對(duì)象外其他對(duì)象均未定義事件,無(wú)法直接驅(qū)動(dòng)宏代碼,驅(qū)動(dòng)宏代碼常用以下三種方法:
2.1利用“控件工具箱”中的控件驅(qū)動(dòng)宏代碼
借助“控件工具箱”,可以在工作表中添加所需的命令按鈕、選項(xiàng)按鈕、復(fù)選框、文本框等通用控件作為用戶接口元素,雙擊所添加的控件就直接進(jìn)入VBA代碼編輯窗口VBE,選擇合適的事件后輸入相應(yīng)的代碼,回到Excel工作表窗口后就可以響應(yīng)相應(yīng)的事件并驅(qū)動(dòng)宏代碼。
“控件工具箱”在不同的Office版本中打開(kāi)的方式有所不同,在Office 2005及之后的版本中要通過(guò)“自定義快速訪問(wèn)工具欄”中的“其他命令”,選擇“插入控件”來(lái)打開(kāi);在Office 2003及之前的版本中要通過(guò)“控件工具箱”工具欄來(lái)打開(kāi)。
2.2 利用“插入”菜單中的對(duì)象驅(qū)動(dòng)宏代碼
借助“插入”菜單(選項(xiàng)卡),可以在工作表中插入自選圖形、文本框、藝術(shù)字等各種Excel對(duì)象,然后通過(guò)快捷菜單給這些對(duì)象“指定宏”,在彈出的對(duì)話框中選擇“編輯”,就直接進(jìn)入VBA代碼編輯窗口VBE,系統(tǒng)默認(rèn)的該對(duì)象的事件只有單擊事件,輸入相應(yīng)的代碼,回到Excel工作表窗口后就可以通過(guò)單擊該對(duì)象來(lái)驅(qū)動(dòng)宏代碼。
2.3 利用“快捷鍵”來(lái)驅(qū)動(dòng)宏代碼
在Excel“視圖”菜單的“宏”命令中選擇“查看宏”,在彈出的“宏”對(duì)話框中輸入一個(gè)宏名,然后單擊“創(chuàng)建”,進(jìn)入VBA代碼編輯窗口,輸入相應(yīng)的代碼,返回“查看宏”對(duì)話框,給剛剛創(chuàng)建的宏名通過(guò)“選項(xiàng)”指定一個(gè)快捷鍵即可。
3 軟件總體設(shè)計(jì)
3.1 工作表設(shè)置
創(chuàng)建一個(gè)Excel工作簿文件,將工作表Sheet添加至5個(gè),各工作表信息設(shè)置如表1所示。
3.2 軟件設(shè)計(jì)思想
將“人員名單”工作表中的每一個(gè)人員的姓名跟“原始數(shù)據(jù)”工作表中的所有數(shù)據(jù)按姓名逐行比對(duì),即進(jìn)行檢索,找到后按“時(shí)段”字節(jié)中的信息(早上、中午、晚上)在“人員名單”工作表中對(duì)應(yīng)的字段中填寫(xiě)“已測(cè)”,這樣就可以從大批量原始數(shù)據(jù)中檢索出各個(gè)班級(jí)(單位)每個(gè)人的三次測(cè)溫情況。
從“人員名單”工作表中檢索每一個(gè)人員的測(cè)溫記錄是否有空白,若有則將其信息填入“未測(cè)溫名單”工作表中,然后按班級(jí)(單位)進(jìn)行統(tǒng)計(jì)匯總,將有關(guān)信息填人“測(cè)溫率排名”工作表;同時(shí),計(jì)算出當(dāng)日未測(cè)溫人數(shù)、人次,早、中、晚未測(cè)溫人數(shù)等數(shù)據(jù)填人“檢測(cè)報(bào)告單”工作表。
為了使工作界面更加簡(jiǎn)潔,本軟件用“快捷鍵”來(lái)驅(qū)動(dòng)宏代碼。
4 軟件實(shí)現(xiàn)技術(shù)
4.1 建立一個(gè)通用過(guò)程
打開(kāi)Excel“視圖”菜單“宏”命名中的“查看宏”,在“宏”對(duì)話框中輸入宏名“統(tǒng)計(jì)”,然后單擊“創(chuàng)建”,系統(tǒng)自動(dòng)打開(kāi)VBA代碼編輯窗口,并生成一個(gè)只有首尾兩行代碼的通用過(guò)程:Sub統(tǒng)計(jì)0,按照上面的軟件設(shè)計(jì)思想,利用循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)等程序設(shè)計(jì)的方法,在“統(tǒng)計(jì)”子程序過(guò)程中編寫(xiě)相應(yīng)的代碼。
4.2 單元格的引用
Excel宏編程時(shí).單元格是需要訪問(wèn)的基本對(duì)象,代碼中有時(shí)需要取出單元格的內(nèi)容進(jìn)行運(yùn)算、判斷,有時(shí)則需要對(duì)單元格內(nèi)容進(jìn)行賦值等操作。引用單元格的方式是:
工作表名.Cells(行號(hào),列號(hào))