答题卡作文模块的一种方法-VSTO

在开始做之前,首先百度了Word有没有简单的生成方法,果然有--页面布局->稿纸设置->方格式稿纸

效果如下图所示。很规范,但是不是答题卡所需要的,因为这样会把所有页面都设置为这样的稿纸。

搜索了很久,没有找到现成的方法,但是受到了一些启示,因此我做出来以下效果的作文表格:

和作文纸很像了,可以根据具体规格稍加调整即可用了。具体方法很简单,就是表格操作。

具体操作:

  1. 先插入1列多行的表格

  2. 再在一行中插入1行多列
  3. 调整外表格的表格属性,选中外表格不太好选中,我是点击右下角选中的

  4. 然后调整方格大小,并插满一行

  5. 复制一行到其他行,

  6. 最后一步就是把外表格的边框去掉,选中不好选,我是通过拉大最后一行选中外表格,最后得到完美表格

最后,根据这样的方法,可以利用VSTO直接生成作文表格,代码如下:

 1 public void AddWritten(Range range)
 2         {
 3             range.MoveEnd();
 4             Document doc = Globals.ThisAddIn.Application.ActiveDocument;
 5             Table t = range.Tables.Add(range, 10, 1);
 6             foreach (Row item in t.Rows)
 7             {
 8                 item.Height = 32;
 9                 Range rowRange = item.Cells [1].Range;
10                 Table rowT = rowRange.Tables.Add(rowRange, 1, 17);
11                 rowT.Rows.Height = 24;
12                 rowT.Columns.Width = 24;
13                 rowT.Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleSingle;
14                 rowT.Borders[WdBorderType.wdBorderBottom].LineStyle = WdLineStyle.wdLineStyleSingle;
15                 rowT.Borders[WdBorderType.wdBorderLeft].LineStyle = WdLineStyle.wdLineStyleSingle;
16                 rowT.Borders[WdBorderType.wdBorderRight].LineStyle = WdLineStyle.wdLineStyleSingle;
17                 rowT.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleSingle;
18                 rowT.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
19                 item.Cells.VerticalAlignment =WdCellVerticalAlignment.wdCellAlignVerticalCenter;
20             }
21             doc.Paragraphs.Add();
22
23         }

原文地址:https://www.cnblogs.com/Betty-IT/p/9069320.html

时间: 2024-07-31 01:11:19

答题卡作文模块的一种方法-VSTO的相关文章

js利用闭包封装自定义模块的几种方法

1.自定义模块: 具有特定功能的js文件 将所有的数据和功能都封装在一个函数的内部 只向外暴露一个包含有n个方法的对象或者函数 模块使用者只需要通过模块暴露的对象调用方法来实现相对应的功能 1.利用函数方法自调用 /** * Created by lonecloud on 2017/9/10. */ (function (window) { var DEBUG="debug" /** * 打印日志 * @param args */ function log(args) { consol

sys模块的几种方法

sys模块 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1) sys.version 获取Python解释程序的版本信息 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 import sys try: sys.exit(1) except SystemExit

Python 导入模块的两种方法:import xxx 和from...import xxx

import 方式导入模块 import tool.getsum.add # 导入模块,优先会从启动文件的当前目录开始寻找 # 如果找到,就使用 # 如果找不到,会在系统模块存放目录去 tool.getsum.add.add2num(2,5) 示例: C:\Users\Tom> python Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32 Type "h

答题卡图像识别 需求分析、市场分析和技术实现

答题卡图像识别 需求分析.市场分析和技术实现 一.需求分析 一.以接口的方式开发此需求: 1:接收图片 以上传的方式把图片发送到接口. 2:识别图片 接口接收到图片后,进行图像识别. 3:返回数据 返回识别后的JSON格式数据. 二.答题卡图片识别的具体要求: 图片是通过手机.相机.扫描仪等设备拍照而来,其中手机.相机拍出的照片会出现像素低.图像不正.聚焦不清楚等问题: 1:图片只要是人眼能看清楚的即可完成识别: 2:800万像素以上的手机拍的照片能进行识别: 3:聚焦不清楚时也可以进行识别:

答题卡图像识别项目

答题卡图像识别 需求分析.市场分析和技术实现 一.需求分析 一.以接口的方式开发此需求: 1:接收图片 以上传的方式把图片发送到接口. 2:识别图片 接口接收到图片后,进行图像识别. 3:返回数据 返回识别后的JSON格式数据. 二.答题卡图片识别的具体要求: 图片是通过手机.相机.扫描仪等设备拍照而来,其中手机.相机拍出的照片会出现像素低.图像不正.聚焦不清楚等问题: 1:图片只要是人眼能看清楚的即可完成识别:  2:800万像素以上的手机拍的照片能进行识别:  3:聚焦不清楚时也可以进行识别

linux下查看uuid的三种方法及使用uuid的作用

查看设备的uuid的三种方法,总结如下: 1 命令查看:blkid2 文件查看:ls -l /dev/disk/by-uuid3 命令查看:vol_id /dev/sda1 UUID的作用及意义 1:它是真正的唯一标志符 UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的.如果你在系统中启动的时候,使用盘符挂载时,可能找不到设备而加载失败,而使用UUID挂载时,则不会有这样的问题. 2:设备名并非总是不变的 自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺

Android第五期 - 更新自己的apk本地与网络两种方法

首先是本地: ParseXmlService部分: package com.szy.update; import java.io.InputStream; import java.util.HashMap; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element

Linux更新内核的三种方法

Centos内核升级的三种方法 在基于CentOS平台的工作过程中,难免有时需要升级或者降级内核以验证功能.调试性能或者更新整个系统.如果从头重新编译一个内核,由于现在内核特性越来越复杂,依赖的库或者工具也不少,加之重新编译耗时不菲,了解更新内核的多种方式就显得尤为必要.下面根据笔者最近的工作,总结了三种方法,供大家参考. 方法一 如果机器不能联网,可以下载现有内核包到本地机器,直接在本地更新 1.从http://ftp.scientificlinux.org/linux/scientific/

三种方法实现从“一个(组)查询过程中返回两个表的查询结果”

还记得開始做机房的时候,遇到了要从一个函数中返回两个表的查询结果.当时的解决方法非常"冲动"也非常"无拘无束",直接在实体类里边加入了其它表的实体,效果是达到了,但总认为不伦不类. 如今介绍三种解决上述问题的方法(代码为VB.net.系统使用三层架构). 题设要求:如果我如今要从卡表和学生表里返回查询信息(卡表的comment,money,status和学生表的所有信息),卡表和学生表例如以下: 图一  学生表 图二    卡表 方法一:视图. 比較简单,相信这样的