国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

巧用ExcelVBA設計高效便捷的計時評分系統(tǒng)

2018-01-09 14:38:29焦麗萍袁勤
電腦知識與技術 2017年34期
關鍵詞:設計

焦麗萍+袁勤

摘要:本文巧用EXCEL強大的計算功能,設計了簡單、高效、便捷的計時評分系統(tǒng),并介紹了計時動態(tài)顯示、計時評分聯動等主要功能模塊的實現方法。

關鍵詞:VBA;計時評分系統(tǒng);設計

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)34-0201-02

Abstract: This paper uses EXCEL's powerful computing function, designs a simple, efficient and convenient timing and marking system, and introduces the Implementation method ofits main function modules, such as timing dynamic display, the linkage of timing and scoring and so on.

Key words: VBA;Timing and Marking system; Design

競賽評比是當前貫徹能力素質教育教學中不可或缺的教學環(huán)節(jié)。與之相適應,借助信息化手段,實施客觀、公正、高效、便捷的現場計時、評分對競賽活動效果起到非常重要的作用[1]。雖然目前已有利用C、C#、ASP等語言編寫了專門的競賽評分系統(tǒng),但由于競賽中評委數量易變、評分規(guī)則靈活,往往給程序的修改、打包、安裝及維護帶來了諸多麻煩[2]。因此,巧用EXCEL的強大計算功能,結合簡單的VBA技術,自制簡單、高效、便捷的計時評分系統(tǒng)顯得尤為重要。

1 計時評分系統(tǒng)基本要求

該系統(tǒng)除具備現場計時、評分的功能外,使用時通常為彰顯客觀公正,往往用大屏幕現場公布,因此,還應具有一定的全屏視覺效果。另外,在使用時還應考慮系統(tǒng)的人性化設計,如:當前選擇的選手進行現場計時時,應在計時屏顯示其姓名,計時結束時應自動獲取其用時信息并填寫至對應的“比賽用時”一欄,若評分規(guī)則中有超時扣分項,還應自動計算出用時扣分分值等等。

2 計時評分系統(tǒng)的整體結構

系統(tǒng)根據基本要求來看,應包括三個界面,即計時界面、評分界面以及用于存儲系統(tǒng)比賽用時、超時界定、記分時是否去最值等比賽規(guī)則及基本信息的設置界面,而且后期需進行VBA編程,因此,可建一個啟用宏的Excel工作簿文件,內含三個工作表,工作表名分別為“計時”、“評分”、“規(guī)則”。為使系統(tǒng)具有更好的視覺效果可制作一張背景圖,置于各工作表中。

“計時”工作表主要用于動態(tài)顯示時鐘,并具有計時功能。界面設計可通過添加ActiveX控件來實現。具體如圖1所示。

“評分”工作表主要用于具體成績詳情及當前排名的顯示,界面如圖2所示,具體功能主要是借助Excel強大的If()、Sum()、Rank()函數、公式及自動填充功能來實現。

“規(guī)則”工作表主要用于存儲系統(tǒng)基礎數據。如標準用時、超時上限、超時下限、每分鐘扣分量、計算平均分時是否去最值等信息,該表為常規(guī)的二維表,主要針對開發(fā)人員使用,當系統(tǒng)制作完畢可將其隱藏。

3 主要功能模塊的實現

3.1計時器動態(tài)的顯示

即在計時工作表中,當單擊“計時開始”按鈕,系統(tǒng)將記錄當前用時的計時標簽的標題屬性每間隔1秒,變化一次,以達到動態(tài)顯示的目的。當單擊“計時結束”按鈕,停止變化和計時。在VB中利用計時器控件很容易實現該功能,但在Excel 的ActiveX控件集中并無計時器控件,但可利用Excel VBA中Application.OnTime方法,該方法可安排一個過程在將來的特定時間運行。這里的特定時間既可以是具體指定的某個時間,也可以是指定的一段時間之后。具體實現時可將該功能事件置于VBA公共模塊中來實現,事件定義完畢,在計時工作表中只需在單擊相應按鈕中調用即可。

模塊中,用于動態(tài)顯示選手用時事件GoTime()及停止動態(tài)顯示事件StopTime()的具體代碼如圖3所示。

在計時工作表中,創(chuàng)建“開始計時”按鈕的單擊事件,事件中調用GoTime()事件;并創(chuàng)建“停止計時”按鈕的單擊事件,事件中調用StopTime()事件。

3.2 當前選手在“計時”、“評分”工作表中的聯動設計

所謂“計時”、“評分”工作表的聯動設計是指,當在“評分”工作表中,選擇了某位選手后,當跳轉至“計時”工作表時,在計時工作表中會顯示當前被選選手的姓名,當單擊“計時結束”按鈕,此選手的比賽用時及超時扣分項,系統(tǒng)會自動計算出來,并填寫在“評分”表中該選手相應的信息欄中。若“評分”工作表的當前活動單元格尚未定位在選手姓名一欄,則系統(tǒng)會給出信息提示,計時結束后,不會填寫上述信息。

由于選手姓名、比賽用時以及當前選手所在行號等信息需在2個不同工作表間相互調用,故可定義相應的全局變量來輔助實現;首先利用“評分”工作表的SelectionChange()事件監(jiān)測當前活動單元格的行號和列號,并存于全局變量中;其次利用“評分”工作表的Deactivate()()事件來監(jiān)測用戶是否選擇了選手,若已選選手,則顯示姓名,若未選擇則彈出提示信息,如圖2所示工作表,其具體代碼如圖4所示:

當在“計時”工作表中,單擊計時結束按鈕后,繼續(xù)利用全局變量進行用時計算和超時處理。具體代碼如圖5所示。

3.3 根據評分規(guī)則的智能化設置

評分規(guī)則的智能化設置是指在具體評分時,由于評分規(guī)則不同,有時計算評委平均分時,通常需要去最值(最高分、最低分),而有時則無需去最值;有時超時需要扣分,而有時超時不需要扣分,而且扣分的標準也各不相同,如果按常規(guī)方法去設計,這會為后續(xù)系統(tǒng)的更新、維護帶來很多不便,所以,根據這種情況,為增強系統(tǒng)的靈活性及適應性,設計時可將上述評分規(guī)則進一步抽象,在“規(guī)則”工作表中通過系統(tǒng)的“是否去最值”屬性、“超時是否扣分”屬性、“超時扣分標準”屬性來表示。而在“評分”工作表中進行具體計算平均分、超時扣分、最終得分三項時對上述三個屬性值進行外部引用,進而實現了系統(tǒng)的智能化設計。

計算平均分公式(假設當前有5個評委):

=IF(規(guī)則!$B$6=0,SUM(D2:H2)/5,(SUM(D2:H2)-MAX(D2:H2)-MIN(D2:H2))/(5-2))

計算超時扣分,該值是在單擊“計時結束”按鈕時進行計算,即在VBA編碼中進行,其具體算法如圖5所示。

計算最后得分公式:=IF(評分!B7=1,I2-J2,I2)。

以上三步關鍵計算,利用IF條件函數,大大增強了系統(tǒng)的自適應性。

3.4系統(tǒng)的保護及優(yōu)化

首先,為防止用戶隨意更改系統(tǒng)的結構和數據造成不必要的人為錯誤,可利用Excel工作簿、工作表的保護操作將“計時”工作表、“評分工作表”以及整個工作簿文件進行保護。同時,為防止他人肆意更改VBA代碼也可將VBA工程加密。其次,為使系統(tǒng)達到更好的全屏顯示效果可利用視圖選項卡,將編輯欄隱藏,并以全屏的形式打開系統(tǒng)。當然也可在VBA代碼中利用工作表的打開事件編寫代碼,使系統(tǒng)一打開就以全屏模式打開。其代碼如下:

4 結束語

借助VBA技術在Excel中設計實現計時評分系統(tǒng),主要是借助了Excel強大的公式、函數等數據計算能力,利用簡單的VBA技術實現了比賽用時的動態(tài)顯示功能,既有很好的視覺效果,同時又達到了評分計算即時、準確的數據運算功能,而且相對常規(guī)的計時評分系統(tǒng)而言,程序編寫技術簡單、系統(tǒng)后期的更新與維護都十分簡便,因此,可為教育工作助力提高教學效果。

參考文獻:

[1] 王繼文.自動計時評分系統(tǒng)在智能樓宇實訓臺中的應用[J].科技期刊,2015(10).

[2] 牛軍,王萍等.無線電子打分計分系統(tǒng)的設計與實現[J].南陽理工學院學報,2015(4).endprint

猜你喜歡
設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
設計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
扎囊县| 精河县| 库车县| 涞水县| 民勤县| 大邑县| 长宁区| 合作市| 泗阳县| 布尔津县| 彭山县| 平湖市| 钟山县| 洛川县| 论坛| 新绛县| 铅山县| 鹿邑县| 云南省| 越西县| 宜宾市| 石屏县| 巫山县| 石门县| 临邑县| 民权县| 凉山| 长顺县| 南昌县| 策勒县| 开江县| 固镇县| 昌平区| 东兰县| 永昌县| 临城县| 綦江县| 靖边县| 洛川县| 屏东县| 安图县|