• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    如何使用VBA批改學(xué)生Word作業(yè)

    2009-07-27 05:09:08

    雷 暉

    摘要:Visual Basic for Application(簡稱VBA)是由Microsoft公司開發(fā)的新一代標(biāo)準(zhǔn)宏語言,它具有簡單易學(xué)、功能強(qiáng)大等特點(diǎn),對于經(jīng)常跟Office 打交道的用戶來說,學(xué)習(xí)VBA有助于提高工作效率。本文通過實(shí)例詳細(xì)介紹了如何使用VBA批改學(xué)生的Word作業(yè)。因Word中涉及的知識點(diǎn)較多,不可能一一加以列舉,筆者意在通過本文向讀者闡述程序編制的一般方法,通過該方法,可以解決絕大多數(shù)Word閱卷的問題。

    關(guān)鍵詞:VBA;Word作業(yè);閱卷

    中圖分類號:G433 文獻(xiàn)標(biāo)識碼:A 文章編號:1673-8454(2009)12-0063-03

    許多中學(xué)信息技術(shù)教師感到,批改學(xué)生的Word作業(yè)是一件繁雜的工作。筆者在工作中,使用自編軟件幫助學(xué)生練習(xí)和鞏固所學(xué)知識,極大地提高了工作效率。采用軟件批改的方式有兩大優(yōu)點(diǎn):第一,針對性強(qiáng)。因不同學(xué)生易犯的錯(cuò)誤是不相同的,相比傳統(tǒng)的教師集體講評的方式,軟件可充當(dāng)小老師的角色,能針對學(xué)生的不同錯(cuò)誤進(jìn)行相應(yīng)的提示,針對性更強(qiáng);第二,時(shí)效性強(qiáng)。相比傳統(tǒng)的課后批改、下節(jié)反饋的方式,軟件批改能當(dāng)堂課及時(shí)進(jìn)行反饋,有助于學(xué)生加深印象。下面筆者就為大家詳細(xì)介紹如何使用VBA代碼批改學(xué)生Word作業(yè)。

    一、 VBA概述

    提起VB,計(jì)算機(jī)教師無人不知,而說起VBA,知道的人卻并不多。很多老師都聽過宏病毒一詞,而宏病毒的元兇,正是VBA。任何事物都有其兩面性,雖然宏病毒令人討厭,但對于經(jīng)常跟Office軟件打交道的用戶來說,學(xué)習(xí)VBA有助于提高工作效率。

    言歸正傳,什么是VBA呢?Visual Basic for Application(簡稱VBA)是新一代標(biāo)準(zhǔn)宏語言,它以VB語言為基礎(chǔ),經(jīng)過修改并運(yùn)行在Microsoft Office的應(yīng)用程序中,但它不能像VB一樣生成可執(zhí)行程序。

    VBA具有與VB 相似的語言結(jié)構(gòu),它們的集成開發(fā)環(huán)境也幾乎相同。如果你熟悉VB,那么你會(huì)發(fā)現(xiàn)它們在語言方面是相通的。因此,可以將VBA簡單地理解為VB的子集。

    二、 如何獲取VBA代碼

    實(shí)際上,VBA并不神秘,通過錄制宏的方式可以輕松地查看VBA代碼。下面筆者將通過具體實(shí)例介紹如何獲取

    VBA代碼。

    例如,需對圖1中上面的文檔進(jìn)行排版,排版后的文檔效果如圖1中下面文檔所示。

    題目見下方:

    標(biāo)題:字體為“隸書”,字號為“二號”,添加“波浪線”,對齊方式為“居中”。

    正文:首行縮進(jìn)“2字符”

    若需查看相關(guān)的VBA代碼,可通過以下步驟實(shí)現(xiàn):

    第一步,打開需排版的文檔,并將標(biāo)題文字選中。

    第二步,單擊菜單欄中的“工具”—“宏”—“錄制新宏”命令,在彈出的對話框中設(shè)置“將宏保存在”當(dāng)前文檔中,并“確定”,這時(shí)會(huì)發(fā)現(xiàn)Word中新增一工具欄,并開始了宏的錄制。

    第三步,按題目要求對標(biāo)題進(jìn)行設(shè)置,完成后單擊工具欄上的“暫停錄制”按鈕。

    第四步,取消標(biāo)題選中狀態(tài),僅選中正文部分,并單擊工具欄上的“恢復(fù)錄制”按鈕。

    第五步,按題目要求對正文進(jìn)行設(shè)置后,單擊“停止錄制”按鈕。

    第六步,單擊“工具”—“宏”—“Visual Basic編輯器”命令,打開VB編輯器。

    第七步,在窗口的左側(cè)選擇當(dāng)前文檔工程下的模塊“NewMacros”,窗口右側(cè)即顯示出對應(yīng)的VBA代碼。如下所示:

    Sub Macro1()

    '

    ' Macro1 Macro

    ' 宏在 2008-9-8 由 aaa 錄制

    '

    Selection.Font.Name = "隸書"

    Selection.Font.Size = 22

    Selection.Font.Underline = wdUnderlineWavy

    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

    With Selection.ParagraphFormat

    ……

    .CharacterUnitFirstLineIndent = 2

    ……

    End With

    End Sub

    由于錄制的宏代碼較長,鑒于篇幅所限,這里僅列出與操作相關(guān)的代碼,其余部分用省略號代替。在上圖中,相關(guān)代碼筆者都加了字符邊框,便于大家閱讀。代碼含義依次為:設(shè)置選中文字字體為隸書、字號為二號、下劃線為波浪線、對齊方式為居中,設(shè)置選中段落的首行縮進(jìn)為2字符。

    代碼有了,如何實(shí)現(xiàn)閱卷功能呢?

    三、 使用Word控件實(shí)現(xiàn)閱卷功能

    第一步,將文檔恢復(fù)為排版前的狀態(tài)。

    第二步,單擊“視圖”—“工具欄”—“控件工具箱”命令,打開控件工具箱。

    第三步,單擊控件工具箱中的“命令按鈕”,在文檔末尾處插入一個(gè)命令按鈕。

    第四步,在命令按鈕上右擊,選擇“屬性”命令,打開屬性面板,并設(shè)置“Caption”屬性為“交卷”。

    第五步,在命令按鈕上右擊,選擇“查看代碼”命令,會(huì)打開內(nèi)置的Visual Basic編輯器,并自動(dòng)添加下面的語句:

    Private Sub CommandButton1_Click()

    End Sub

    第六步,添加VBA代碼。

    先將剛才錄制的相關(guān)代碼復(fù)制到過程中,再稍加修改即可。修改后的代碼如下所示:

    (為方便讀者閱讀,代碼中加了注釋,讀者練習(xí)時(shí)無需輸入注釋部分)

    Private Sub CommandButton1_Click()

    '定義str1為字符變量,Point為整形變量

    Dim str1 As String

    Dim Point As Integer

    '分別設(shè)置para1對象和para2對象為當(dāng)前文檔第一段和第二段

    Set para1 = ActiveDocument.Paragraphs(1)

    Set para2 = ActiveDocument.Paragraphs(2)

    '如果第一段的字體為隸書,則加20分;否則,輸出提示信息

    If para1.Range.Font.Name = "隸書" Then

    point = point + 20

    Else

    str1 = str1 + "標(biāo)題字體為隸書" + vbCrLf

    End If

    '如果第一段的字號為二號,則加20分;否則,輸出提示信息

    If para1.Range.Font.Size = 22 Then

    point = point + 20

    Else

    str1 = str1 + "標(biāo)題字號為二號" + vbCrLf

    End If

    '如果第一段文字添加了波浪線,則加20分;否則,輸出提示信息

    If para1.Range.Font.Underline = wdUnderlineWavy Then

    point = point + 20

    Else

    str1 = str1 + "標(biāo)題沒加波浪線" + vbCrLf

    End If

    '如果第一段的對齊方式為居中,則加20分;否則,輸出提示信息

    If para1.Alignment = wdAlignParagraphCenter Then

    point = point + 20

    Else

    str1 = str1 + "標(biāo)題應(yīng)居中顯示" + vbCrLf

    End If

    '如果第二段的首行縮進(jìn)為2字符,則加20分;否則,輸出提示信息

    If para2.CharacterUnitFirstLineIndent = 2 Then

    point = point + 20

    Else

    str1 = str1 + "正文應(yīng)首行縮進(jìn)2字符" + vbCrLf

    End If

    str1 = str1 + "你的得分為" + Str(point) + "分"

    MsgBox str1, vbOKOnly, "提示"

    End Sub

    第七步,存盤并測試。

    若學(xué)生操作完全正確,單擊“交卷”按鈕后,會(huì)彈出一對話框,顯示得分為100分。若操作不正確,則顯示錯(cuò)誤的地方。如圖2所示。

    至此,任務(wù)大功告成,是不是很有成就感?使用VBA編制的程序簡單實(shí)用,但卻不能生成獨(dú)立程序,如果你想編制獨(dú)立且界面美觀的程序,可考慮用VB來實(shí)現(xiàn)。因VBA是VB的子集,因此用VBA編制的程序可以輕松地移植到VB中。這里鑒于篇幅所限,筆者不再贅述。

    四、 結(jié)束語

    上面介紹的方法可實(shí)現(xiàn)大部分閱卷功能,如文字格式的設(shè)置、段落格式的設(shè)置、頁面設(shè)置等。但在某些情況下,如插入圖片或藝術(shù)字的操作,則需另外尋找相關(guān)代碼,具體方法大家可查找相關(guān)書籍。

    最后,筆者想說的是,如果本文能對讀者有些價(jià)值,從此引發(fā)對VBA的興趣,筆者會(huì)甚感欣慰。希望讀者在實(shí)際工作中不斷總結(jié)和積累,最終提高工作效率。

    (編輯:隗爽)

    敖汉旗| 佛山市| 漾濞| 双柏县| 巴楚县| 海宁市| 霍山县| 伽师县| 南靖县| 汕尾市| 白银市| 棋牌| 连云港市| 常德市| 横山县| 温泉县| 通渭县| 绵竹市| 浦北县| 保山市| 泾川县| 吉首市| 全州县| 巴林左旗| 黄梅县| 麦盖提县| 鹿邑县| 温泉县| 无为县| 通河县| 乌鲁木齐市| 宣威市| 祥云县| 安义县| 尼勒克县| 安宁市| 荣成市| 万源市| 自贡市| 衡南县| 长武县|