Word中利用VBA编程制作考试用作文稿纸
发布时间:2023-12-07 09:36:20
语文考试中,经常用到作文稿纸,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中就使用了。
猜你喜欢
- Win10注册表打不开怎么修复?注册表是Windows操作系统中的一个核心数据库,在整个系统中起着核心作用。如果你的电脑注册表打不开,那么可
- 微软在本月补丁星期二活动发布的Windows 10累积补丁更新,主要是对系统安全性进行优化。不过对于Windows和Microsoft Ex
- 操作步骤:1、单击文件菜单,在下拉菜单中选择页面设置命令,如图所示;2、弹出页面设置对话框,在页边距选项卡上,方向选择横向;页码范围选择书籍
- 去年的iOS 16,苹果给大家带来了锁屏界面、全天候显示、电池百分比等新功能,遗憾的是大家期盼了已久的应用分身、分屏等实用功能依然落了个空。
- 微软商城Office365降价了,今日微软官方商城针对Office365个人订阅版(密钥卡)正进行特价活动,原价399元,现价299元,同时
- 最近Win10电脑在打印机打印的时候总是蓝屏,蓝屏的时候系统提示我“失败的操作:win32kfull,sys。奇怪的地方在于如果没有打印的情
- 1、首先我们打开wps,然后我们输入要加拼音的文字 2、选定文文字,然后点击开始菜单中的“拼音指南”工具 &nbs
- 当我们使用win10操作系统时,有时会遇到关机过程一直无法顺利进行的情况,这时会出现一个提示:关机被应用程序阻止。对于这种问题,我认为系统的
- 很多的用户们不会应用U启动的win10pe装机工具,这款工具可以或许赞助恢弘用户们安全巩固去安装win10pe体系举行应用,那么具体需求奈何
- win10如何以管理员身份登录电脑呢?很多小伙伴对此还不是很清楚,小编这里就给大家带来有关win10如何以管理员身份登录电脑的回答,帮助大家
- 安装win10操作系统后,可能会发现在玩游戏或运行其他软件时win10系统的兼容性不太好。我想把自己的系统换成以前的win7。关于这个问题,
- 1.打开WPS文档,然后点击工具栏的“插入”插入需要添加边框的图片 2.选中图片然后右键选择“设置对象格式”,然后
- Windows Defender是微软为用户推出的断绝防护功效服务,它可以断绝系统不能辨认的凶险应用,不过偶尔咱们自己需求安装正式应用也会被
- 小编使用的Win10 1909设备上的夜间模式最近突然出现了一个错误。 经过一番操作,小编无意间发现,只有通过系统内置的自动扫描修复功能,才
- 使用的字体、字号、全角和半角,不一样。自动生成目录的修改方法:引用--目录--目录--插入目录,“修改”,选择“目录X”--“修改”,在修改
- win10系统由于其稳定性和良好的兼容性而倍受欢迎,但是很多小伙伴还不知道win10u盘启动盘的制作教程,今天我们带来了win10u盘启动盘
- Visual Studio Code是一款在计算机上运行的语言代码转换编辑工具,VSCode代码为了排版更整洁,想要设置文本行限制,应该怎么
- 当我们使用微软操作系统时,如果一些小伙伴使用win10操作系统,那么当系统损坏时,我们想修理它,但不知道该怎么办。所以对于win10in10
- WPS2016更新了那些功能 金山WPS2016新功能一览亮点一:精致视觉美感WPS Office 2016中新加入重新设计的图表引擎,能展
- WPS文档怎么制作渐变色背景1、首先打开WPS文字。 2、点击页面布局栏目下的背景,在下拉框中点击渐变