分享
 
 
 

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

王朝vb·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

语文考试中,经常用到作文稿纸,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.frmUserForm1.frxNewMacros.bas

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有