999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VBA編程實(shí)現(xiàn)excel數(shù)據(jù)管理的閱卷

2009-04-29 00:00:00吳經(jīng)志
電腦知識(shí)與技術(shù) 2009年24期

摘要:VBA是一種自動(dòng)化語(yǔ)言,它可以使常用的程序自動(dòng)化,可以創(chuàng)建自定義的解決方案,,還可以將EXCEL用做開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)應(yīng)用程序。因此,VBA可以稱(chēng)作EXCEL的“遙控器”。同時(shí),VBA作為新一代標(biāo)準(zhǔn)宏語(yǔ)言,提供了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法和相當(dāng)完整的程序設(shè)計(jì)語(yǔ)言。對(duì)于在工作中需要經(jīng)常使用Office 套裝軟件的用戶(hù),善用VBA 有助于使工作自動(dòng)化,提高工作效率。

關(guān)鍵詞:VBA;excel;程序設(shè)計(jì)

中圖分類(lèi)號(hào):TP317文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)24-6627-02

Examining Test Papers of Excel’s Date Management by VBA Programming

WU Jing-zhi

(Shaoguan University,Shaoguan 512005, China)

Abstract: VBA is one kind of automated language, it may cause the commonly used automatic programming,it may found from the definition solution, it may with do EXCEL develops the platform realization application procedure.so, VBA may be called as EXCEL the remote control. VBA takes the new generation of standard great language,it has provided the object-oriented programming method and the quite complete programming language. Regarding needs to use the Office coverall software frequently in the work the user,who makes good use of VBA to be helpful in causes the work automation and enhances the working efficiency.

Key words: VBA; excel; programming

在將“高效”貫徹到我們?nèi)粘9ぷ鞯慕裉欤绾胃咝У毓ぷ饕恢笔俏覀兲接懙膯?wèn)題。作為在日常辦公中離不開(kāi)的Excel軟件也在竭盡所能提高功能,幫助我們節(jié)省工作時(shí)間、提高工作效率。其中VBA就是這樣一個(gè)利器。

1 VBA簡(jiǎn)介

VBA是什么?VBA(Visual Basic For Application)是一種自動(dòng)化語(yǔ)言,它可以使常用的程序自動(dòng)化,可以創(chuàng)建自定義的解決方案,此外,還可以將EXCEL用做開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)應(yīng)用程序。

對(duì)多數(shù)人來(lái)說(shuō),使應(yīng)用程序自動(dòng)化仍是充滿(mǎn)挑戰(zhàn)性的領(lǐng)域。對(duì)每個(gè)需要自動(dòng)化的應(yīng)用程序,人們不得不學(xué)習(xí)一種不同的自動(dòng)化語(yǔ)言,例如:可以用EXCEL的宏語(yǔ)言來(lái)使EXCEL自動(dòng)化,使用WORD BASIC使WORD自動(dòng)化等等。微軟決定讓它開(kāi)發(fā)出來(lái)的應(yīng)用程序共享一種通用的自動(dòng)化語(yǔ)言——Visual Basic For Application(VBA),可以認(rèn)為VBA是非常流行的應(yīng)用程序開(kāi)發(fā)語(yǔ)言VISUAL BASIC 的子集。實(shí)際上VBA是寄生于VB應(yīng)用程序的版本。

VBA和VB的區(qū)別包括如下幾個(gè)方面:VB是設(shè)計(jì)用于創(chuàng)建標(biāo)準(zhǔn)的應(yīng)用程序,而VBA是使已有的應(yīng)用程序(EXCEL等)自動(dòng)化;VB具有自己的開(kāi)發(fā)環(huán)境,而VBA必須寄生于已有的應(yīng)用程序;要運(yùn)行VB開(kāi)發(fā)的應(yīng)用程序,用戶(hù)不必安裝VB,因?yàn)閂B開(kāi)發(fā)出的應(yīng)用程序是可執(zhí)行文件(*.EXE),而VBA開(kāi)發(fā)的程序必須依賴(lài)于它的父應(yīng)用程序,例如EXCEL.。盡管存在這些不同,VBA和VB在結(jié)構(gòu)上仍然十分相似。如果已經(jīng)了解了VB,會(huì)發(fā)現(xiàn)學(xué)習(xí)VBA非常快。相應(yīng)的,學(xué)完VBA會(huì)給學(xué)習(xí)VB打下堅(jiān)實(shí)的基礎(chǔ)。而且,當(dāng)學(xué)會(huì)在EXCEL中用VBA創(chuàng)建解決方案后,即已具備在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA創(chuàng)建解決方案的大部分知識(shí)。

VBA一個(gè)關(guān)鍵特征是你所學(xué)的知識(shí)在微軟的一些產(chǎn)品中可以相互轉(zhuǎn)化。Office取得巨大成功的一個(gè)重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序非常多。VBA程序員很多是業(yè)余程序員,但編寫(xiě)出來(lái)的程序所解決的卻是工作中需要解決的問(wèn)題。

2 VBA編程實(shí)例

我們知道excel數(shù)據(jù)管理部分包括數(shù)據(jù)透視表、分類(lèi)匯總、數(shù)據(jù)排序等和各種公式函數(shù)運(yùn)算,這些操作各不相同,如果要對(duì)這部分題目進(jìn)行閱卷操作,針對(duì)不同的知識(shí)點(diǎn)要分別寫(xiě)出對(duì)應(yīng)的閱卷模塊。我們發(fā)現(xiàn),完成同一道excel數(shù)據(jù)管理題目,可以有不同的操作方法,在閱卷的時(shí)候要把這些不同的操作方法都考慮進(jìn)去的話(huà),閱卷模塊的編寫(xiě)就顯得很繁瑣,而且閱卷人也未必能考慮的很全面。我們發(fā)現(xiàn),對(duì)一道excel數(shù)據(jù)管理題,不論以什么方法來(lái)做,最后的結(jié)果只能有一種情況,那么我們可以針對(duì)這個(gè)結(jié)果采用取樣匹配的方式來(lái)進(jìn)行閱卷,這樣一來(lái)就能很輕松實(shí)現(xiàn)對(duì)各種類(lèi)型的excel數(shù)據(jù)管理題目的閱卷工作。

要對(duì)一道excel數(shù)據(jù)管理題目進(jìn)行閱卷,需要編寫(xiě)一個(gè)針對(duì)該題目的調(diào)用函數(shù),另外還需要一個(gè)公有的閱卷模塊。總的思路是在該題目函數(shù)里輸入要進(jìn)行取樣的單元格坐標(biāo)及單元格內(nèi)的數(shù)據(jù)(答案),然后調(diào)用公有閱卷模塊,與學(xué)生的操作結(jié)果進(jìn)行匹配,完全匹配給分,否則0分。

如下,我們來(lái)看一個(gè)例子:以F1單元格為左上角創(chuàng)建一數(shù)據(jù)透視表,表現(xiàn)出性別與職稱(chēng)對(duì)照分類(lèi)的工資平均值,要求同一職稱(chēng)的數(shù)據(jù)在同一行,同一性別的數(shù)據(jù)在同一列。電子表格文件為“xls001.xls”,數(shù)據(jù)所在的工作表為“sheet1”,文件目錄為“D:\est”文件夾。例題原數(shù)據(jù)(圖1 例題數(shù)據(jù))及操作結(jié)果(圖2 操作結(jié)果)。

如前所述,對(duì)該操作結(jié)果進(jìn)行批改,要有一個(gè)題目函數(shù)和公有閱卷模塊。題目函數(shù)的功能為打開(kāi)待批改的電子表格文件,輸入取樣單元格坐標(biāo)及單元格內(nèi)數(shù)據(jù)(答案),通過(guò)調(diào)用公有模塊將輸入的數(shù)據(jù)(答案)與操作結(jié)果進(jìn)行匹配。

題目函數(shù)主要代碼及相關(guān)說(shuō)明如下:

Function xls001(參數(shù)列表) as single

Score = 5‘題目初始分值,假設(shè)為5分

sfilename = \"D:test\\xls001.xls\"‘待批改文件路徑

Try‘引入try …… catch 語(yǔ)句避免因文件不存在導(dǎo)致程序無(wú)法運(yùn)行

oexcelbook = oexcel.Workbooks.Open(sfilename) ‘打開(kāi)文件

Try

Dim air(10) As Object '該數(shù)組用于保存取樣單元格坐標(biāo)

Dim ascont(10) As Object '該數(shù)組用于保存取樣單元格內(nèi)數(shù)據(jù)

air = New Object() {\"f1\", \"g1\", \"f2\"}‘輸入取樣單元格坐標(biāo)

ascont = New Object() {\"平均值項(xiàng):工資\", \"性別\", \"職稱(chēng)\"} ‘輸入取樣單元格內(nèi)數(shù)據(jù)(答案)

xls001 = test(oexcel, air, ascont, score)

Catch ex As Exception

End Try

Catch ex As Exception

mess_1 = \"文件不存在!,0分\"

xls001 = 0

Exit Function

End Try

oexcelbook.Saved = True

oexcelbook.Close()‘閱卷結(jié)束,關(guān)閉文件

End Function

公有閱卷模塊主要代碼及相關(guān)說(shuō)明如下:

Public Function test(參數(shù)列表) As Single

Dim mwksheet As Excel.Worksheet

mwksheet = oexcelbook.Worksheets(\"Sheet1\")‘指定數(shù)據(jù)所在的工作表

For i = 0 To 2‘該For循環(huán)用于對(duì)取樣單元格內(nèi)數(shù)據(jù)與所給答案逐一匹配,發(fā)現(xiàn)一處不匹配即給0分,并退出循環(huán)

If mwksheet.Range(air(i)).Text <> ascont(i) Then

score = 0

Exit For

End If

Next i

test = score‘最終得分

End Function

對(duì)于取樣單元格個(gè)數(shù)可以自行決定,可以在題目函數(shù)中設(shè)置一變量用于指定取樣單元格個(gè)數(shù),閱卷模塊通過(guò)參數(shù)傳遞方式獲得該值,作為單元格匹配次數(shù)(即For循環(huán)次數(shù))。

3 結(jié)束語(yǔ)

Visual Basic for Applications(VBA)是新一代標(biāo)準(zhǔn)宏語(yǔ)言,是基于Visual Basic for Windows 發(fā)展而來(lái)的。它與傳統(tǒng)的宏語(yǔ)言不同,傳統(tǒng)的宏語(yǔ)言不具有高級(jí)語(yǔ)言的特征,沒(méi)有面向?qū)ο蟮某绦蛟O(shè)計(jì)概念和方法。而VBA 提供了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法和相當(dāng)完整的程序設(shè)計(jì)語(yǔ)言。VBA 易于學(xué)習(xí)掌握,可以使用宏記錄器記錄用戶(hù)的各種操作并將其轉(zhuǎn)換為VBA 程序代碼。這樣用戶(hù)可以容易地將日常工作轉(zhuǎn)換為VBA 程序代碼,使工作自動(dòng)化。因此,對(duì)于在工作中需要經(jīng)常使用Office 套裝軟件的用戶(hù),用好VBA 有助于使工作自動(dòng)化,提高工作效率。另外,由于VBA 可以直接應(yīng)用Office 套裝軟件的各項(xiàng)強(qiáng)大功能,所以對(duì)于程序設(shè)計(jì)人員的程序設(shè)計(jì)和開(kāi)發(fā)更加方便快捷。

參考文獻(xiàn):

[1] Jelen B,Syrstad T.Excel 2007 VBA與宏完全剖析[M].郭兵英,譯.北京:人民郵電出版社,2008.

[2] 魏汪洋.Excel 2007 VBA高級(jí)編程[M].北京:電子工業(yè)出版社,2009.

[3] Walkenbach J.中文Excel 2007高級(jí)VBA編程[M].馮飛,焦瑜凈,譯.北京:清華大學(xué)出版社,2009.

[4] 格林.Excel Home譯.Excel 2007參考大全[M].北京:人民郵電出版社,2009.

[5] 趙全斌.Excel工程應(yīng)用[M].北京:清華大學(xué)出版社,2009.

主站蜘蛛池模板: 国产精品一区二区国产主播| 农村乱人伦一区二区| 日韩AV无码一区| 99精品在线看| a毛片在线| 97人妻精品专区久久久久| 亚洲视频影院| 欧美视频二区| 国产尤物视频网址导航| 超级碰免费视频91| 国产伦片中文免费观看| 免费人欧美成又黄又爽的视频| 亚洲国产天堂久久九九九| 青草国产在线视频| 久久久受www免费人成| 亚洲日韩精品综合在线一区二区| 在线观看91精品国产剧情免费| 亚洲欧美一级一级a| 免费A∨中文乱码专区| P尤物久久99国产综合精品| 国产成人AV男人的天堂| 欧美中文字幕第一页线路一| 国产午夜不卡| 欧美日韩一区二区在线免费观看| 丁香婷婷激情网| 久热re国产手机在线观看| 青青青视频蜜桃一区二区| 国产精品免费久久久久影院无码| 99久久精品视香蕉蕉| 亚洲黄色视频在线观看一区| 久久综合九色综合97婷婷| 性色一区| 熟女日韩精品2区| 国产久草视频| 国产欧美日韩免费| 日韩色图在线观看| 伊人国产无码高清视频| 久热中文字幕在线| 国产亚洲精品97在线观看| 免费一级毛片在线播放傲雪网| 亚洲婷婷在线视频| 日本精品视频一区二区| 欧美日韩在线第一页| 亚洲一区二区三区国产精华液| 亚洲免费福利视频| 国产精品嫩草影院av| 国产区精品高清在线观看| 中文字幕免费在线视频| 国产成人精品在线| 77777亚洲午夜久久多人| 免费aa毛片| 亚洲人成成无码网WWW| 99久久精品久久久久久婷婷| 亚洲第一视频网站| 青青操视频在线| 免费午夜无码18禁无码影院| 亚洲制服丝袜第一页| 亚洲成人网在线播放| 国产精品流白浆在线观看| 国产久操视频| 日韩欧美综合在线制服| 亚洲色欲色欲www网| 五月婷婷伊人网| 伊人久久青草青青综合| 夜夜爽免费视频| 麻豆AV网站免费进入| 欧美不卡视频一区发布| 精品国产亚洲人成在线| 这里只有精品国产| 日本精品视频| h视频在线观看网站| 国产美女无遮挡免费视频| 亚洲国产成人精品无码区性色| 国产女人综合久久精品视| 免费在线播放毛片| 欧美亚洲国产精品第一页| 夜精品a一区二区三区| 91麻豆久久久| 精品天海翼一区二区| 91久久天天躁狠狠躁夜夜| a级毛片免费网站| 国产精品自在线拍国产电影 |