李玉艷

摘要:大學(xué)計(jì)算機(jī)基礎(chǔ)是高職院校的一門公共必修基礎(chǔ)課程。計(jì)算機(jī)一級(jí)考試是教育部門作為學(xué)生是否具備基本的計(jì)算機(jī)辦公技能的衡量標(biāo)準(zhǔn),而Excel上機(jī)操作便是該考試中的重點(diǎn)操作考核內(nèi)容。為提升學(xué)生對(duì)Excel電子表格的操作能力和計(jì)算機(jī)等級(jí)一級(jí)考試的過(guò)關(guān)率,該文設(shè)計(jì)了一套基于VC++和VBA技術(shù)的Excel操作評(píng)分系統(tǒng)。該系統(tǒng)通過(guò)VC++實(shí)現(xiàn)人機(jī)對(duì)話,利用OLE技術(shù)實(shí)現(xiàn)Excel程序的調(diào)用,再利用VBA技術(shù)對(duì)Excel的各種對(duì)象屬性進(jìn)行了分析和成績(jī)計(jì)算。該系統(tǒng)可以為同類高職院校的計(jì)算機(jī)教師提供開(kāi)發(fā)參考。
關(guān)鍵詞:VC++;VBA;Excel;系統(tǒng)設(shè)計(jì);操作評(píng)分
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)14-0058-02
Abstract: Basic Computer of College is a public compulsory basic course in higher vocational colleges. Computer Rank Examination Grade One is a standard to measure whether students have basic computer office skills for most colleges,in which,Excel operation is the important examination content.In order to improve students' operation ability to operate Excel spreadsheets and pass rate of Computer Rank Examination Grade One,this paper designs an Excel Operation Scoring System based on VC++ and VBA technology. The system realizes man-machine interaction through VC++,uses OLE technology to call Excel program, and analyzes various object attributes of Excel and calculates scores by VBA technology. After the practical application in the authors college,it shows that the system can improve students' Excel spreadsheets operation ability and pass rate of Computer Rank Examination Grade One.
Key words:VC++; VBA; Excel; system design; operation score
1 引言
隨著用人單位對(duì)高素質(zhì)技術(shù)技能人才的信息素養(yǎng)要求越來(lái)越高,職業(yè)教育對(duì)學(xué)生的計(jì)算機(jī)操作能力要求也不斷提高,大部分高職院校都采取計(jì)算機(jī)一級(jí)考試來(lái)評(píng)測(cè)和提高學(xué)生計(jì)算機(jī)操作能力。計(jì)算機(jī)等級(jí)考試一級(jí)B類的題目類型包括理論試題和上機(jī)操作題,理論試題占總成績(jī)的60%,操作試題占總成績(jī)的40%,其中Word操作和Excel操作是上機(jī)考核中的重難點(diǎn)。
隨著“互聯(lián)網(wǎng)+教育”的發(fā)展,尤其因2019年12月新型冠狀病毒肺炎疫情的爆發(fā),為了防止疫情向?qū)W校蔓延,全國(guó)高校都采取了延期開(kāi)學(xué),多采取線上教學(xué)的方式實(shí)現(xiàn)“停課不停學(xué)”的目的。但目前國(guó)內(nèi)的很多線上教學(xué)平臺(tái)的主要功能是教學(xué),部分平臺(tái)具備理論測(cè)評(píng)的功能,幾乎沒(méi)有上機(jī)操作測(cè)評(píng)功能。在筆者所在院校,依靠現(xiàn)有的線上教學(xué)平臺(tái),學(xué)生僅能對(duì)計(jì)算機(jī)應(yīng)用基礎(chǔ)這門課程的理論知識(shí)進(jìn)行學(xué)習(xí)和自我評(píng)測(cè),而無(wú)法利用上機(jī)操作測(cè)評(píng)的平臺(tái)或系統(tǒng)軟件訓(xùn)練和檢測(cè)自身的上機(jī)操作能力。尤其是我校實(shí)施線上教學(xué)期間,我校學(xué)生的計(jì)算機(jī)實(shí)際操作能力提升受阻較為明顯。
其次,雖然目前部分高職院校在用的等級(jí)考試模擬軟件可以實(shí)現(xiàn)上機(jī)練習(xí)操作,但該模擬軟件存在以下三方面的問(wèn)題:一是模擬軟件的題庫(kù)過(guò)老,題目數(shù)量和題型較少,無(wú)法檢測(cè)學(xué)生對(duì)上機(jī)操作的真實(shí)掌握情況;二是學(xué)生提交試卷后,系統(tǒng)雖然給出了評(píng)分,但學(xué)生無(wú)法知曉上機(jī)操作中具體哪部分丟分,無(wú)法評(píng)估自身對(duì)模塊知識(shí)點(diǎn)的具體掌握情況并予以糾正;三是學(xué)生在模擬軟件中做完提交后,教師無(wú)法獲知學(xué)生的得分情況以及學(xué)生的具體得分細(xì)節(jié),無(wú)法有針對(duì)性地根據(jù)學(xué)生的掌握情況改變教學(xué)策略。
因此,有必要開(kāi)發(fā)一套面向計(jì)算機(jī)一級(jí)考試中上機(jī)操作評(píng)分系統(tǒng),尤其是針對(duì)辦公軟件的操作內(nèi)容。本文以Excel電子表格的上機(jī)操作評(píng)分系統(tǒng)為例,設(shè)計(jì)并實(shí)現(xiàn)了基于VC++和VBA技術(shù)的Excel操作評(píng)分系統(tǒng)。
2 設(shè)計(jì)思路
2.1 主要工具
VC++(Microsoft Visual C++)是微軟公司基于C++語(yǔ)言的可視化編程工具[1],集成了微軟Windows視窗操作系統(tǒng)應(yīng)用程序接口,支持組件共享,提供了多種數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),功能強(qiáng)大穩(wěn)定、靈活性較高,可擴(kuò)展性良好,是比較流行的開(kāi)發(fā)工具。
VBA(Visual Basic for Application)是Visual Basic的一種宏語(yǔ)言[2],是VB的一個(gè)子集,幾種體現(xiàn)在Microsoft的Office套件中。VBA嵌入在Office的每個(gè)組件(Word、Excel和PowerPoint等),是COM(部件對(duì)象模型)的一部分。
為了實(shí)現(xiàn)VC++與Office套件的數(shù)據(jù)共享,可以借助OLE(對(duì)象鏈接與嵌入)技術(shù)來(lái)完成此操作,OLE是應(yīng)用程序間交換數(shù)據(jù)、相互操作的一種方式[3],它支持不同應(yīng)用程序之間的信息交互。
2.2 實(shí)現(xiàn)思路
通過(guò)VC++平臺(tái)的MFC應(yīng)用程序搭建用戶對(duì)話窗口界面,提供用戶登錄、題目選擇和打開(kāi)Excel操作題、交卷和查看評(píng)分的功能;通過(guò)Excel內(nèi)置的VBA宏編程語(yǔ)言來(lái)獲取Excel中各對(duì)象的屬性值及內(nèi)容,分析操作結(jié)果的正確性,得出操作評(píng)分的結(jié)果;通過(guò)OLE自動(dòng)化對(duì)象實(shí)現(xiàn)VC++和Excel之間的信息交互,包括通過(guò)VC++打開(kāi)Excel操作題目,Excel的操作結(jié)果評(píng)分和得分細(xì)項(xiàng)返回VC++等。
3系統(tǒng)的實(shí)現(xiàn)方法
基于實(shí)用性、可靠性、安全性和可擴(kuò)展性的原則,也為了實(shí)現(xiàn)完整的Excel操作評(píng)分系統(tǒng)功能,該系統(tǒng)共設(shè)計(jì)出五個(gè)主要的功能模塊,分別是用戶登錄模塊、題目選擇模塊、成績(jī)生成模塊、結(jié)果提交模塊和得分詳情查看五個(gè)模塊,各個(gè)模塊劃分相對(duì)獨(dú)立,具體劃分如下。
用戶登錄模塊提供用戶登錄界面,用戶輸入用戶名和密碼后選擇登錄,系統(tǒng)進(jìn)行用戶名和密碼的核驗(yàn),核驗(yàn)通過(guò),用戶登錄成功,核驗(yàn)不通過(guò)提示用戶登錄失敗原因,用戶重新輸入。系統(tǒng)設(shè)置多套模擬題供學(xué)生練習(xí)評(píng)測(cè),題目選擇模塊提供用戶題目選擇的界面,當(dāng)點(diǎn)擊“確定選擇”后,VC++通過(guò)OLE對(duì)象啟動(dòng)Excel應(yīng)用程序并打開(kāi)對(duì)應(yīng)題目的Excel操作文檔。VC++通過(guò)OLE對(duì)象打開(kāi)對(duì)應(yīng)題目的Excel文件的C++主要程序代碼為:
books.AttachDispatch(ExcelApp.get_Workbooks());
CString strpath=str;
lpDisp=books.Open(strpath, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing);
book.AttachDispatch(lpDisp);
用戶在打開(kāi)的Excel文檔中按題目要求進(jìn)行操作,操作完后保存文檔,在Excel文檔中單擊操作完畢按鈕,通過(guò)該按鈕,啟動(dòng)成績(jī)生成模塊,該模塊通過(guò)VBA宏語(yǔ)言獲取題目要求的操作對(duì)象屬性,然后對(duì)比題庫(kù)答案規(guī)定的屬性值,得到操作成績(jī),然后Excel軟件關(guān)閉。例如判斷圖標(biāo)的圖例設(shè)置是否正確的VBA代碼為:
If .HasLegend = True Then
If .Legend.Position = xlLegendPositionRight Then
ChartResult=ChartResult+1? ? //圖例位置設(shè)置正確,圖表知識(shí)點(diǎn)的成績(jī)得1分
Result= Result + 1? ? ?//圖例位置設(shè)置正確,最終成績(jī)得1分
End If
End If
用戶在選擇操作完畢后,在操作界面中點(diǎn)擊“交卷”按鈕,則得分成績(jī)模塊開(kāi)始讀取VBA程序中最終成績(jī)結(jié)果(Result變量的值)和各知識(shí)點(diǎn)得分結(jié)果(各知識(shí)點(diǎn)的得分結(jié)果變量的值),然后以消息框的形式告知用戶最終得分。然后學(xué)生可以點(diǎn)擊“查看得分詳情”按鈕,獲知上一次練習(xí)過(guò)程中具體是在哪些知識(shí)點(diǎn)上丟分,根據(jù)丟分結(jié)果,然后重新多次練習(xí),確保自身切實(shí)掌握相關(guān)操作。
4 系統(tǒng)測(cè)試結(jié)果
經(jīng)過(guò)功能測(cè)試、性能測(cè)試、穩(wěn)定性測(cè)試等,分批次選取300名學(xué)生對(duì)系統(tǒng)進(jìn)行實(shí)際應(yīng)用。學(xué)生通過(guò)系統(tǒng)均能正常進(jìn)行登錄、題目選擇、按題目要求操作Excel、提交并得出正確的操作評(píng)分,系統(tǒng)設(shè)計(jì)達(dá)到預(yù)期目標(biāo),且系統(tǒng)運(yùn)行的穩(wěn)定性表現(xiàn)良好。
5 小結(jié)
通過(guò)該系統(tǒng)的應(yīng)用,筆者所教班級(jí)的計(jì)算機(jī)等級(jí)一級(jí)B類考試的過(guò)級(jí)率從79%提升到了85%。該結(jié)果說(shuō)明基于VC++和VBA的Excel操作評(píng)分系統(tǒng)的使用能較好地提升學(xué)生的計(jì)算機(jī)應(yīng)用操作能力和提升計(jì)算機(jī)一級(jí)考試的過(guò)關(guān)率。
該系統(tǒng)目前是針對(duì)Excel電子表格的上機(jī)操作,而計(jì)算機(jī)等級(jí)一級(jí)考試中Word文檔操作也是上機(jī)考試的重難點(diǎn),Word和Excel同屬于微軟Office辦公軟件,本文的系統(tǒng)設(shè)計(jì)方法可推廣至基于Word的上機(jī)操作中。此外,該系統(tǒng)的運(yùn)行,會(huì)產(chǎn)生大量的學(xué)生操作得分記錄,后期可將學(xué)生的得分詳情數(shù)據(jù)記錄到數(shù)據(jù)庫(kù)中,并做進(jìn)一步的數(shù)據(jù)統(tǒng)計(jì)分析,從而為學(xué)校計(jì)算機(jī)課程改革提供數(shù)據(jù)支持。
參考文獻(xiàn):
[1] 郭小梅.在VC++中實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)出/導(dǎo)入[J].電腦知識(shí)與技術(shù),2008,4(30):726-728,730.
[2] 羅萍.基于Excel VBA的學(xué)生操行分管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2015(5):69-71.
[3] 陳驊.C++Builder、VBA與Excel有機(jī)組合——生成報(bào)表自動(dòng)化系統(tǒng)[J].電腦編程技巧與維護(hù),2004(4):21-27.
【通聯(lián)編輯:王力】