网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 软件教学 > 网络办公 > Word教学
办公软件:Office,Word教程,Excel教程,Powerpoint教程,Wps Office
本月文章推荐
.用Word快捷键改变字号 令你办公更.
.删除Word插入表格后生成的空白页.
.暴强绝技!用Word收看网络电视.
.Word2007中快速插入固定内容的技.
.Word 2007与2003菜单位置对应表:.
.在Word 2007文档中插入剪贴画水印.
.Word 2007文档保存用户自定义封面.
.Word文档丢失的预防与数据的恢复.
.加背景设阴影 漂亮的Word文本框D.
.Word表格中Shift+Alt+方向键的妙.
.修改默认设置 让Word 2003使用更.
.给Word文档减肥:有效减小文件大.
.新年马上就要到了 用WORD2000做贺.
.快速找到Word模板文件Normal.dot.
.Word表格的空白单元格批量写入字.
.让Word帮助我学习日语.
.巧用Word“保护文档”限制文档修.
.按单字给Word文档内容快速加上边.
.Word中简单一步建立Excel表格.
.在Word中制作表格的表格空间设置.

Word中利用VBA编程制作考试用作文稿纸

发表日期:2006-12-22


  语文考试中,经常用到作文稿纸,Word中带有稿纸模板,但有诸多限制(如纸型、行列数等相对固定),在试卷排版时颇为不便。经过尝试,笔者找到一种利用Word的VBA编程,通过绘制表格实现考试用作文稿纸的方法。

  一、编制程序

  1.启动Word,连续点击“工具”,“宏”,“录制新宏...”,在弹出的对话框中填写宏名(此例为“作文稿纸”),选择宏要保存的位置(可以保存在模板中,也可以保存在当前文档中),如图1所示。

  2.为了方便操作,可以将此宏以按钮的形式指定在工具栏中。单击“录制宏”对话框中的“工具栏”按钮,在弹出的“自定义”对话框的右侧,选中宏命令“Normal.NewMacros.作文稿纸”,用鼠标将其拖动复制到“常用”工具栏,在其上单击右键,选择相应的命令修改名称,为其编辑一个小图标,结果如图2所示。

  3.单击“录制宏”对话框中的“关闭”按钮,屏幕上将出现一个“录制宏”工具栏,单击停止按钮停止录制。

  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的稿纸向导或稿纸加载项相比,此程序做出的稿纸显然不适于在文档中直接使用,但在制作作文试卷时优势明显。其一,不受纸型限制;其二,因为是表格,所以能根据需要自由地添加、删除行列,还能在适当位置标注作文所要求的字数。

  应用前,应先设定好试卷模板,然后进行试验,以找出试卷最适的格子大小和行列数,需要制作稿纸时,可直接在“常用”工具栏上单击“作文稿纸”按钮,也可以连续点击“工具”,“宏”,“宏…”,打开“宏”对话框,在左侧组合框中选择名为“作文稿纸”的宏,然后单击“运行”,即可启动宏程序,在随后出现的“作文稿纸设置”窗口中,根据需要修改默认设置,最后,单击“确定”按钮,程序将自动绘制作文稿纸表格,如果稿纸超出一页(或一栏),选择稿纸中部的行删除即可。下面图4是在A3纸左右两栏中分别制作的20×16、20×10稿纸。

  三、导出导入

  在VBA编程窗口中,分别选择工程资源管理器中的UserForm1窗体和NewMacros模块,导出UserForm1.frm、UserForm1.frx和NewMacros.bas文件。如图5。

  需要在其他电脑中使用这个程序时,把备份拷贝过来,启动VBA编程窗口,通过“文件”、“导入文件”将UserForm1.frm、和NewMacros.bas导入,在Word中就使用了。以上程序在Word 2003中调试通过,您还可以直接下载:UserForm1.frm UserForm1.frx NewMacros.bas

上一篇:在Word中复制文本框文字到正文的有趣技巧 人气:6215
下一篇:八招设置Word2007 让我们用得更顺手 人气:5711
浏览全部Word的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐