亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VBA成績(jī)自動(dòng)上傳系統(tǒng)的開(kāi)發(fā)

        2017-03-17 21:44:29張金沙金笛石劭紅
        電腦知識(shí)與技術(shù) 2016年32期
        關(guān)鍵詞:學(xué)生成績(jī)管理信息系統(tǒng)

        張金沙++金笛++石劭紅

        摘要:為打破成績(jī)錄入“瓶頸”,實(shí)現(xiàn)高效辦公,以Excel VBA為編程語(yǔ)言,結(jié)合某高校成績(jī)錄入的具體任務(wù),開(kāi)發(fā)出將電子版學(xué)生成績(jī)自動(dòng)上傳到該校教務(wù)系統(tǒng)的微型配套系統(tǒng)。實(shí)際運(yùn)用結(jié)果表明,運(yùn)用VBA實(shí)現(xiàn)學(xué)生成績(jī)的自動(dòng)上傳,不僅快速準(zhǔn)確,而且高效實(shí)用,其方法值得學(xué)習(xí)和推廣。

        關(guān)鍵詞:Excel;VBA;學(xué)生成績(jī);自動(dòng)上傳;管理信息系統(tǒng)

        中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)32-0080-03

        1 背景

        Excel VBA(Visual Basic for Applications)是內(nèi)嵌于Excel的程序開(kāi)發(fā)語(yǔ)言,在Excel中可運(yùn)行Visual Basic程序完成較復(fù)雜的工作,實(shí)現(xiàn)高效辦公[1,2]。當(dāng)然,作為一種功能強(qiáng)大的宏語(yǔ)言,通過(guò)編程也能實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的操控。

        將學(xué)生的各項(xiàng)成績(jī)上傳學(xué)校教務(wù)管理信息系統(tǒng)是每個(gè)教師期末必須完成的工作。由于許多教務(wù)管理信息系統(tǒng)沒(méi)有提供批量導(dǎo)入成績(jī)的功能,老師們不得不將已經(jīng)整理好的電子成績(jī),采取復(fù)制粘貼的方法,再次人工錄入相應(yīng)的網(wǎng)頁(yè)控件。工作重復(fù)低效,而且難免出錯(cuò)[3,4]。

        為打破成績(jī)錄入“瓶頸”,實(shí)現(xiàn)了Excel電子成績(jī)的自動(dòng)快速準(zhǔn)確上傳,本文以某高校成績(jī)錄入為例,給出基于Excel VBA成績(jī)自動(dòng)上傳系統(tǒng)的詳細(xì)開(kāi)發(fā)過(guò)程。

        2 準(zhǔn)備工作

        在編寫代碼前,需要熟悉成績(jī)錄入界面、手工操作過(guò)程和界面網(wǎng)頁(yè)元素的定位屬性。網(wǎng)頁(yè)元素的定位屬性(包括id、name和索引號(hào)等)的獲得,還需借助“網(wǎng)頁(yè)按鍵精靈”等工具。在“網(wǎng)頁(yè)按鍵精靈”中打開(kāi)信息系統(tǒng)成績(jī)錄入界面后可獲得圖1結(jié)果,上面窗口顯示某高校教務(wù)管理信息系統(tǒng)的成績(jī)錄入主要界面,下面窗口顯示網(wǎng)頁(yè)元素分析結(jié)果。

        圖1 成績(jī)錄入頁(yè)面元素分析

        手工錄入時(shí),在成績(jī)錄入界面可依次輸入學(xué)號(hào)(也可根據(jù)姓名提示而省略本項(xiàng))、技能、平時(shí)、期末和總評(píng)成績(jī),點(diǎn)擊“添加記錄”,若信息系統(tǒng)存在此學(xué)號(hào),該生成績(jī)?nèi)霂?kù),同時(shí)顯示在界面下半部的成績(jī)表中。編程就是模擬這個(gè)人工過(guò)程。

        獲取網(wǎng)頁(yè)元素屬性,只需點(diǎn)擊要觀察的網(wǎng)頁(yè)元素,其詳細(xì)分析結(jié)果便顯示在下面窗口。本系統(tǒng)根據(jù)ID屬性定位,從圖1可見(jiàn),點(diǎn)擊學(xué)號(hào)后,顯示的ID屬性為txtXh。同樣操作,獲得技能、平時(shí)、期末、總評(píng)和添加記錄的ID屬性分別為txtJncj、txtPscj、txtQmcj、txtCjInsert和btAdd。

        3 界面設(shè)計(jì)

        打開(kāi)Excel,在Sheet1的A列至G列的首行輸入“序號(hào)”、“姓名”、“學(xué)號(hào)”等信息,其中前二列為校驗(yàn)信息,后五列為要上傳的信息。將H列至L列合并,插入藝術(shù)字“成績(jī)自動(dòng)上傳”。在工作表中繪制一個(gè)圓角矩形,分別設(shè)置填充效果和陰影,復(fù)制粘貼成三個(gè)并添加文字作為菜單。最后將Sheet1命名為“主界面”,將其他表單刪除,以文件名為“成績(jī)自動(dòng)上傳”保存。見(jiàn)圖2。

        圖2 成績(jī)自動(dòng)上傳主界面

        4 代碼編寫與錄入

        4.1 操作說(shuō)明模塊

        本模塊顯示一個(gè)消息框,為教師提供操作指導(dǎo)。

        Sub Opguide()

        Dim msg As String

        msg = "1.按本表A-H列的格式組織數(shù)據(jù),首行為標(biāo)目。" & vbNewLine

        msg = msg + "2.確認(rèn)學(xué)校“成績(jī)錄入”頁(yè)面的合法授權(quán)打開(kāi)。" & vbCrLf

        msg = msg + "3.點(diǎn)擊“數(shù)據(jù)檢查”,通過(guò)后再點(diǎn)“成績(jī)導(dǎo)入”。"

        MsgBox msg, vbOKOnly, "操作指南"

        End Sub

        4.2 數(shù)據(jù)檢查模塊

        數(shù)據(jù)檢查模塊分別檢查學(xué)號(hào)和成績(jī)的合法性。

        Public dataflag As Boolean '數(shù)據(jù)檢查通過(guò)標(biāo)志

        Public maxrow As Integer '數(shù)據(jù)的最大行數(shù)

        Sub Datacheck()

        Dim i As Integer, j As Integer

        Range("C1").Select 'C列為學(xué)號(hào)

        maxrow = Range("C65536").End(xlUp).Row '取得數(shù)據(jù)的最大行數(shù)

        dataflag = True

        '下面是學(xué)號(hào)合法性檢查

        For i = 2 To maxrow '數(shù)據(jù)從第二行開(kāi)始

        If Len(Trim(Cells(i, 3))) = 8 Then '合法學(xué)號(hào)有8位

        Cells(i, 3).Font.Color = vbBlack '合法學(xué)號(hào)標(biāo)記為黑色

        Else

        Cells(i, 3).Font.Color = vbRed '不合法學(xué)號(hào)標(biāo)記為紅色

        dataflag = False

        End If

        Next

        '下面檢查各項(xiàng)成績(jī)的合法性

        For i = 2 To maxrow

        For j = 4 To 7 '各項(xiàng)成績(jī)

        If Cells(i, j) >= -1 And Cells(i, j) <= 100 Then '下限-1為缺考標(biāo)識(shí),0至100為考分

        Cells(i, j).Font.Color = vbBlack '合法成績(jī)標(biāo)記為黑色

        Else

        Cells(i, j).Font.Color = vbRed '不合法成績(jī)標(biāo)記為紅色

        dataflag = False

        End If

        Next

        Next

        If dataflag = False Then '數(shù)據(jù)檢查沒(méi)有通過(guò)

        MsgBox "數(shù)據(jù)檢查沒(méi)有通過(guò),請(qǐng)修改后重新檢查!", vbOKOnly

        Else

        MsgBox "數(shù)據(jù)檢查通過(guò),可以上傳成績(jī)!", vbOKOnly

        End If

        End Sub

        4.3 成績(jī)上傳模塊

        數(shù)據(jù)上傳網(wǎng)頁(yè)的實(shí)現(xiàn)方法雖然有較多[3,4,5],但大致分為兩步,首先尋找目標(biāo)瀏覽器窗口,以獲得操作句柄,然后利用句柄完成上傳工作。

        Sub Autoupload()

        Dim myshell as object, myshellwin as object, mywin as object,myDoc as Object

        Dim i as integer

        Dim aimflag As Boolean '目標(biāo)窗口標(biāo)志

        If dataflag = False Then

        MsgBox "數(shù)據(jù)檢查沒(méi)有通過(guò),請(qǐng)修改后重新檢查!", vbOKOnly

        ExitSub

        End If

        第一步,獲取操作句柄

        aimflag = False

        Set myshell = CreateObject("Shell.Application") '利用shell對(duì)象尋找目標(biāo)瀏覽器窗口

        Set myshellwin = myshell.Windows '獲取全部桌面窗口

        For Each mywin In myshellwin '遍歷窗口對(duì)象并賦值給mywin

        If LCase(TypeName(mywin.document)) = "htmldocument" Then '若是瀏覽器窗口

        If InStr(1, mywin.LocationName, "成績(jī)錄入", vbTextCompare) > 0 Then '找到窗口標(biāo)題名為"成績(jī)錄入"的IE窗口

        MsgBox mywin.document.Title + "頁(yè)面已打開(kāi),上傳開(kāi)始。"

        aimflag = True

        Set myDoc = mywin.document '獲得操作句柄

        End if

        End if

        If aimflag = False then

        MsgBox "成績(jī)錄入頁(yè)面沒(méi)有打開(kāi),請(qǐng)打開(kāi)后操作。"

        Exit Sub

        End if

        ' 第二步,成績(jī)上傳

        For i = 2 To maxrow

        myDoc.getElementsByID("txtXh"). Value =Trim(Cells(i, 3)) '在網(wǎng)頁(yè)學(xué)號(hào)處填入電子表格的學(xué)號(hào)(C列)

        myDoc.getElementsByID("txtJncj").Value = Cells(i, 4) '填入技能成績(jī)

        myDoc.getElementsByID("txtPscj").Value = Cells(i, 5) '填入平時(shí)成績(jī)

        myDoc.getElementsByID("txtQmcj").Value = Cells(i, 6) '填入期末成績(jī)

        myDoc.getElementsByID("txtCjInsert").Value = Cells(i, 7) '填入技能成績(jī)

        myDoc.getElementsByID("btAdd").Click '點(diǎn)擊添加記錄

        Do While mywin.Busy '等待刷新結(jié)束

        Application.Wait (Now + TimeValue("0:00:01"))

        DoEvents

        Loop

        Next

        Set myshell = Nothing ' 釋放對(duì)象

        Set myshellwin = Nothing

        Set mywin = Nothing

        Set mydoc = Nothing

        End Sub

        4.4 代碼的錄入及與菜單關(guān)聯(lián)

        在Excel中,按快捷鍵Alt和F11,進(jìn)入VBA編緝器。點(diǎn)擊“插入-模塊”,模塊1便出現(xiàn)在工程中。在模塊1錄入操作說(shuō)明過(guò)程Opguide()、數(shù)據(jù)檢查過(guò)程Datacheck()及成績(jī)上傳過(guò)程Autoupload(),保存,退出VBA編緝器。

        在Excel下,右擊菜單“操作說(shuō)明”-“指定宏”-“Opguide”-“確定”,完成操作說(shuō)明過(guò)程Opguide()代碼與菜單“操作說(shuō)明”的關(guān)聯(lián)。進(jìn)行相似的操作,完成其它過(guò)程代碼與菜單的關(guān)聯(lián)。

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

        本系統(tǒng)基于Excel VBA完美實(shí)現(xiàn)電子成績(jī)的自動(dòng)上傳,實(shí)際運(yùn)用結(jié)果表速度很快,在網(wǎng)絡(luò)正常的情況下,一分鐘內(nèi)即可完成一個(gè)班(約60人)的學(xué)生成績(jī)上傳工作,且設(shè)計(jì)相對(duì)簡(jiǎn)單,操作十分方便,表現(xiàn)出很好的便捷性和實(shí)用性[5]。Excel是辦公室數(shù)據(jù)處理的常用軟件,VB是非專業(yè)人員常用的計(jì)算機(jī)語(yǔ)言,只要掌握了VB,VBA就能很快上手,因而運(yùn)用VBA開(kāi)發(fā)的系統(tǒng)具有良好的可普及性和較高的推廣實(shí)用價(jià)值。

        參考文獻(xiàn):

        [1] 許小榮, 夏躍偉, 高翔, 等. Excel VBA語(yǔ)法與應(yīng)用手冊(cè)[M]. 北京: 電子工業(yè)出版社, 2010.

        [2] 焦萍萍, 周顯春. EXCEL中的VBA程序設(shè)計(jì)[J]. 電腦知識(shí)與技術(shù), 2016, 12(11): 63-64.

        [3] 劉松. 一種快速將本地教學(xué)數(shù)據(jù)上傳到網(wǎng)絡(luò)教學(xué)系統(tǒng)的方法[J]. 智能計(jì)算機(jī)與應(yīng)用, 2013, 3(3): 93-94, 封3.

        [4] 江治. 利用VBA實(shí)現(xiàn)網(wǎng)頁(yè)中自動(dòng)錄入成績(jī)[J]. 安慶師范學(xué)院學(xué)報(bào):自然科學(xué)版, 2010, 16(3): 124-127.

        [5] 張正. 表單批量自動(dòng)填寫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)與現(xiàn)代化, 2013(2): 169-172.

        猜你喜歡
        學(xué)生成績(jī)管理信息系統(tǒng)
        淺析數(shù)據(jù)挖掘技術(shù)在學(xué)生管理系統(tǒng)中的應(yīng)用
        東方教育(2016年20期)2017-01-17 20:57:58
        高職數(shù)學(xué)分層教學(xué)學(xué)生成績(jī)?cè)u(píng)價(jià)的數(shù)學(xué)模型
        基于B/S結(jié)構(gòu)的學(xué)生公寓管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于“互聯(lián)網(wǎng)+”的企業(yè)管理信息系統(tǒng)優(yōu)化分析
        基于工作流的水運(yùn)應(yīng)急信息管理平臺(tái)設(shè)計(jì) 
        管理信息系統(tǒng)案例教學(xué)探討
        Excel+VBA開(kāi)發(fā)之《學(xué)生成績(jī)管理系統(tǒng)》的設(shè)計(jì)與實(shí)現(xiàn)
        基于MATLAB轉(zhuǎn)置矩陣的學(xué)生學(xué)習(xí)成績(jī)預(yù)警快速算法
        亚洲写真成人午夜亚洲美女| 日韩少妇内射免费播放18禁裸乳 | av免费网站在线免费观看| 白色白色在线视频播放平台| 白白白色视频在线观看播放| 亚洲一区二区三区熟妇| 国产麻豆一区二区三区在| 日韩精品有码中文字幕 | 亚洲精品色播一区二区| 少妇又紧又爽丰满在线视频| 国内精品国产三级国产| 亚洲国产果冻传媒av在线观看| 精品综合久久88少妇激情| 日本顶级片一区二区三区| 亚洲女人天堂成人av在线| 成人影院羞羞的视频免费观看| 中国亚洲av第一精品| 亚洲人成网站在线播放2019| 青青草绿色华人播放在线视频| 国产精品又污又爽又色的网站| 久久久国产熟女综合一区二区三区| 亚洲中文字幕剧情类别| 国产爽快片一区二区三区| 青青草视频在线观看网| 香蕉成人伊视频在线观看| 高清毛茸茸的中国少妇| 免费人成年激情视频在线观看| 国产后入清纯学生妹| 成人做受视频试看60秒| 亚洲精品无码不卡av| 国产老熟女狂叫对白| 国产精品一卡二卡三卡| 国产精品麻豆A在线播放| 清纯唯美亚洲经典中文字幕| 北条麻妃在线中文字幕| 手机看片久久第一人妻| 91九色人妻精品一区二区三区| 美女扒开大腿让男人桶 | 精品一区二区三区芒果| 精品亚洲成a人无码成a在线观看| 日本亚洲色大成网站www久久|