国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Word > 正文

Word中利用VBA編程制作考試用作文稿紙

2024-08-22 13:33:07
字體:
來源:轉載
供稿:網友

   語文考試中,經常用到作文稿紙,Word中帶有稿紙模板,但有諸多限制(如紙型、行列數等相對固定),在試卷排版時頗為不便。經過嘗試,筆者找到一種利用Word的VBA編程,通過繪制表格實現(xiàn)考試用作文稿紙的方法。

  一、編制程序

  1.啟動Word,連續(xù)點擊“工具”,“宏”,“錄制新宏...”,在彈出的對話框中填寫宏名(此例為“作文稿紙”),選擇宏要保存的位置(可以保存在模板中,也可以保存在當前文檔中),如圖1所示。

Word中利用VBA編程制作考試用作文稿紙 武林網

  2.為了方便操作,可以將此宏以按鈕的形式指定在工具欄中。單擊“錄制宏”對話框中的“工具欄”按鈕,在彈出的“自定義”對話框的右側,選中宏命令“Normal.NewMacros.作文稿紙”,用鼠標將其拖動復制到“常用”工具欄,在其上單擊右鍵,選擇相應的命令修改名稱,為其編輯一個小圖標,結果如圖2所示。

  3.單擊“錄制宏”對話框中的“關閉”按鈕,屏幕上將出現(xiàn)一個“錄制宏”工具欄,單擊停止按鈕停止錄制。

  4.依次選擇“工具”、“宏”、“宏…”,在對話框中選擇宏名“作文稿紙”,單擊“編輯”按鈕,打開vba編程窗口。錄入如下代碼:

  Sub 作文稿紙()

  UserForm1.CommandButton1.Enabled = True

  UserForm1.Show

  End Sub

  5.插入一個窗體UserForm1,在其中插入4個標簽,4個文本框,一個按鈕。分別設置它們的相關屬性,其中,“所需行數”文本框的“text”屬性值設為25,“所需列數”文本框的“text”屬性值設為20,“行間距”文本框的“text”屬性值設為0.5,“首尾空行高度”文本框的“text”屬性值設為0.4,如圖3所示

  6.雙擊命令按鈕CommandButton1,錄入以下代碼:

  Private Sub CommandButton1_Click()

  Dim n As Integer  定義一個變量為整數型

  n = 1

  ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=Val(TextBox1.Text) * 2 + 1, NumColumns _

  :=Val(TextBox2.Text), DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed

  Selection.EndKey Unit:=wdRow, Extend:=True

  Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone

  Selection.Tables(1).Rows.HeightRule = wdRowHeightExactly

  設定表格行高為固定值

  Selection.Tables(1).Rows.Height = CentimetersToPoints(Val(TextBox3.Text))

  設置表格行高為設置值,作為行間距

  Selection.Tables(1).Rows(1).Height = CentimetersToPoints(Val(TextBox4.Text))

  設置第一行行高為設置值

  Do While n < Val(TextBox1.Text) + 1

  Selection.EndKey Unit:=wdLine

  Selection.MoveRight Unit:=wdCharacter, Count:=2

  將插入點移至下一行

  Selection.Tables(1).Rows(2 * n).Height = Selection.Tables(1).Columns(1).PreferredWidth

  設行高等于列寬

  Selection.EndKey Unit:=wdRow, Extend:=True

  Selection.EndKey Unit:=wdLine

  Selection.MoveRight Unit:=wdCharacter, Count:=2

  將插入點移至下一行

  Selection.EndKey Unit:=wdRow, Extend:=True

  Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone

  去除此行的內部框線,只余邊框

  n = n + 1

  Loop

  Selection.Tables(1).Rows(Val(TextBox1.Text) * 2 + 1).Height = CentimetersToPoints(Val(TextBox4.Text))

  設置末行高為設置值

  Selection.EndKey Unit:=wdRow, Extend:=True

  Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone

  Selection.Tables(1).Rows.Alignment = wdAlignRowCenter

  表格居中

  With Selection.Tables(1)

  .Borders(wdBorderLeft).LineWidth = wdLineWidth150pt

  .Borders(wdBorderRight).LineWidth = wdLineWidth150pt

  .Borders(wdBorderTop).LineWidth = wdLineWidth150pt

  .Borders(wdBorderBottom).LineWidth = wdLineWidth150pt

  設定表格邊框為粗線

  End With

  Selection.EndKey Unit:=wdLine

  Unload Me

  End Sub

  二、使用

  與Word的稿紙向導或稿紙加載項相比,此程序做出的稿紙顯然不適于在文檔中直接使用,但在制作作文試卷時優(yōu)勢明顯。其一,不受紙型限制;其二,因為是表格,所以能根據需要自由地添加、刪除行列,還能在適當位置標注作文所要求的字數。

  應用前,應先設定好試卷模板,然后進行試驗,以找出試卷最適的格子大小和行列數,需要制作稿紙時,可直接在“常用”工具欄上單擊“作文稿紙”按鈕,也可以連續(xù)點擊“工具”,“宏”,“宏…”,打開“宏”對話框,在左側組合框中選擇名為“作文稿紙”的宏,然后單擊“運行”,即可啟動宏程序,在隨后出現(xiàn)的“作文稿紙設置”窗口中,根據需要修改默認設置,最后,單擊“確定”按鈕,程序將自動繪制作文稿紙表格,如果稿紙超出一頁(或一欄),選擇稿紙中部的行刪除即可。下面圖4是在A3紙左右兩欄中分別制作的20×16、20×10稿紙。

  三、導出導入

  在VBA編程窗口中,分別選擇工程資源管理器中的UserForm1窗體和NewMacros模塊,導出UserForm1.frm、UserForm1.frx和NewMacros.bas文件。如圖5。

  需要在其他電腦中使用這個程序時,把備份拷貝過來,啟動VBA編程窗口,通過“文件”、“導入文件”將UserForm1.frm、和NewMacros.bas導入,在Word中就使用了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 枞阳县| 闵行区| 尚志市| 株洲市| 徐汇区| 雷山县| 山丹县| 左云县| 当涂县| 高淳县| 永靖县| 台前县| 调兵山市| 青海省| 曲阜市| 汶上县| 盐津县| 洪江市| 武强县| 赤壁市| 张掖市| 正蓝旗| 方城县| 安顺市| 离岛区| 怀来县| 枞阳县| 宁津县| 鄂伦春自治旗| 罗定市| 巴青县| 会昌县| 黄梅县| 山阴县| 内江市| 福建省| 革吉县| 兴安盟| 金门县| 邛崃市| 临漳县|