当前位置: 首页 > news >正文

互联网开发工程师证书厦门seo网站推广优化

互联网开发工程师证书,厦门seo网站推广优化,建功能性网站,公网ip 做网站该篇讲解下word文档中的标题和正文批量修改样式,如下图: 前面一篇已讲解了WPS Office宏编辑器操作方法,这里不细讲了,如有不清楚可以查看该篇:https://blog.csdn.net/jiciqiang/article/details/134653657?spm1001.20…

        该篇讲解下word文档中的标题和正文批量修改样式,如下图:

        前面一篇已讲解了WPS Office宏编辑器操作方法,这里不细讲了,如有不清楚可以查看该篇:https://blog.csdn.net/jiciqiang/article/details/134653657?spm=1001.2014.3001.5501文章浏览阅读363次。WPS Office JS宏,实现Word表格样式批量修改。 由于本职工作原因,经常会用到office办公软件,经常很多内容审批后,需要统一修改内容或样式,如果Word文档中有上百页或上千页,则一个一个修改太麻烦了。在接触到WPSJS宏后,发现工作效率大大提升;如果你会前端开发,有JS基础上手会非常快;如果有VBA基础,就更得心应手了,因为对象和函数定义,基础是沿用office的VBA。其他不多说了,先和大家分享下如果统一修改表格样式。https://blog.csdn.net/jiciqiang/article/details/134653657?spm=1001.2014.3001.5501

一、修改标题

1.1 Paragraphs 对象

        在编写代码前,咱们先了解下Paragraphs对象的属性和方法。

方法:

名称说明
1Add返回一个 Paragraph 对象,该对象代表添加到文档中的新的空白段落。
2Indent为一个或多个段落增加一个级别的缩进。
3IndentFirstLineCharWidth将一个或多个段落的首行缩进指定的字符数。

属性:

名称说明
1AddSpaceBetweenFarEastAndAlpha如果 WPS 将自动在指定段落的日文和拉丁文文字之间添加空格,则该属性值为 True。如果仅对于某些指定段落将该属性设置为 True,则该属性会返回 wdUndefined。Long 类型,可读写。
2AddSpaceBetweenFarEastAndDigit如果 WPS 将自动在指定段落的日文文字和数字之间添加空格,则该属性值为 True。如果仅对于某些指定段落将该属性设置为 True,则该属性会返回 wdUndefined。Long 类型,可读写。
3Alignment 返回或设置一个 WdParagraphAlignment 常量,该常量代表指定段落的对齐方式,可读写。
4Application返回一个代表 WPS 应用程序的 Application 对象。
5AutoAdjustRightIndent如果 WPS 会根据您指定的每行字符数自动调整指定段落的右缩进,则该属性值为 True。如果只将某些指定段落的 AutoAdjustRightIndent 属性设置为 True,则该属性会返回 wdUndefined。Long 类型,可读写。
6BaseLineAlignment返回或设置一个 WdBaselineAlignment 常量,该常量代表行中字体的垂直位置,可读写。
7Borders返回一个 Borders 集合,该集合代表指定对象的所有边框。
8CharacterUnitFirstLineIndent返回或设置首行或悬挂缩进的值(以字符为单位)。用正值设置首行缩进,用负值设置悬挂缩进。Single 类型,可读写。
9CharacterUnitLeftIndent该属性返回或设置指定段落的左缩进量(以字符为单位)。Single 类型,可读写。
10CharacterUnitRightIndent该属性返回或设置指定段落的右缩进量(以字符为单位)。Single 类型,可读写。
11Count返回一个 Long 类型的值,该值代表集合中的段数。只读。
12Creator返回一个 32 位整数,该整数代表在其中创建特定对象的应用程序。只读 Long 类型。
13DisableLineHeightGrid如果该属性的值为 True,则当指定每页的行数时,WPS 会将指定段落中的字符与行网格对齐。如果只将某些指定段落的 DisableLineHeightGrid 属性设置为 True,则返回 wdUndefined。Long 类型,可读写。
14FarEastLineBreakControl如果为 True,则 WPS 会将东亚语言文字的换行规则应用于指定的段落。如果只将某些指定段落的 FarEastLineBreakControl 属性设定为 True,则返回 wdUndefined。Long 类型,可读写。
15First返回一个 Paragraph 对象,该对象代表在 Paragraphs 集合中的第一个项目。
16FirstLineIndent返回或设置首行缩进或悬挂缩进的大小(以磅值表示)。用正数设置首行缩进的尺寸,用负数设置悬挂缩进的尺寸。Single 类型,可读写。
17Format 返回或设置一个 ParagraphFormat 对象,该对象代表指定的一个或多个段落的格式。
18HalfWidthPunctuationOnTopOfLine如果为 True,则 WPS 会将指定段落行首的标点符号改为半角字符。如果仅将某些指定段落的该属性设置为 True,则此属性将返回 wdUndefined。Long 类型,可读写。
19HangingPunctuation    如果为 True,则指定段落中的标点将可以溢出边界。如果仅将某些指定段落的该属性设置为 True,则返回 wdUndefined。Long 类型,可读写。
20Hyphenation如果指定的段落进行自动断字,则该属性值为 True。如果指定的段落不进行自动断字,则该属性值为 False。可读写 Long 类型。
21KeepTogether在 WPS 对文档重新分页时,如果指定段落中的所有行都位于同一页上,则该属性值为 True。可读写 Long 类型。
22KeepWithNext在 WPS 对文档重新分页时,如果指定段落与其下一段位于同一页上,则该属性值为 True。可读写 Long 类型。
23Last返回一个 Paragraph 对象,该对象代表段落集合中的最后一个项目。
24LeftIndent返回或设置一个 Single 类型的值,该值代表指定段落的左缩进值(以磅为单位)。可读写。
25LineSpacing返回或设置指定段落的行距(以磅为单位)。Single 类型,可读写。
26LineSpacingRule返回或设置指定段落的行距。可读写 WdLineSpacing 类型。
27LineUnitAfter返回或设置指定段落的段后间距(以网格线为单位)。可读写 Single 类型。
28LineUnitBefore返回或设置指定段落的段前间距(以网格线为单位)。可读写 Single 类型。
29NoLineNumber如果取消指定段的行号,则该属性值为 True。该属性值可以是 True、False 或 wdUndefined。可读写 Long 类型。
30OutlineLevel返回或设置指定段落的大纲级别。可读写 WdOutlineLevel 类型。
31PageBreakBefore如果在指定段落前插入了分页符,则该属性值为 True。该属性值可以是 True、False 或 wdUndefined。可读写 Long 类型。
32Parent返回一个 Object 类型值,该值代表指定 Paragraphs 对象的父对象。
33ReadingOrder返回或设置指定段落的读取次序而不改变其对齐方式。可读写 WdReadingOrder 类型。
34RightIndent返回或设置指定段落的右缩进量(以磅为单位)。可读写 Single 类型。
35Shading返回一个 Shading 对象,该对象代表指定段落的底纹格式。
36SpaceAfter返回或设置指定段落或文本栏后面的间距(以磅为单位)。可读/写 Single 类型。
37SpaceAfterAuto如果 WPS 自动设置指定段落的段后间距,则该属性为 True。可读/写 Long 类型。
38SpaceBefore返回或设置指定段落的段前间距(以磅为单位)。可读/写 Single 类型。
39SpaceBeforeAuto如果 WPS 自动设置指定段落的段前间距,则该属性为 True。可读/写 Long 类型。
40Style返回或设置指定段落的样式。可读写 Variant 类型。
41TabStops返回或设置一个 TabStops 集合,该集合代表指定段落中的所有自定义制表位。可读写。
42WidowControl在 WPS 对文档重新分页时,如果指定段落的首行和末行与段落的其他各行同页,则该属性值为 True。该属性值可以是 True、False 或 wdUndefined。可读写 Long 类型。
43WordWrap如果 WPS 在指定段落中的西文单词中间断字换行,则该属性值为 True。可读写 Long 类型。

1.2 获取内容段落数

        上篇讲过表格获取数量是通过Count属性,这里同样是通过Count获取内容的段落数,代码如下:

/*** 修改标题和正文样式*/
function 修改标题和正文样式(){console.log(ActiveDocument.Paragraphs.Count);
}

输出结果如下图:

1.3 获取段落样式

        这里得到段落数后,我们则可以循环获取所有段落内容,并通过段落属性Style判断出标题部分,进行样式调整。代码如下:

/*** 修改标题和正文样式*/
function 修改标题和正文样式(){// 循环获取段落信息for(var i = 1; i <= ActiveDocument.Paragraphs.Count; i++){// 获取每个段落范围的内容var rangeObj = ActiveDocument.Paragraphs.Item(i).Range;//   console.log(rangeObj.Style.toString());}}

输出结果:

        如上图所示,很容易判断出哪些范围为标题,哪些为正文。当然,有时会出现返回样式值为空情况,这里则需要做下容错处理,代码如下:

/*** 修改标题和正文样式*/
function 修改标题和正文样式(){// 循环获取段落信息for(var i = 1; i <= ActiveDocument.Paragraphs.Count; i++){// 获取每个段落范围的内容var rangeObj = ActiveDocument.Paragraphs.Item(i).Range;//   获取范围样式var styleName = rangeObj.Style;// 如果样式返回结果为空,则继续循环下一个if(!styleName) continue;styleName = styleName.toString();console.log(styleName);}
}

1.4 过滤出标题段落

        现在通过switch来过滤出对应的标题段落内容,另外不同文档中标题样式名不一定叫“标题 1”、“标题 2” 等,根据分析出的数据,作对应调整即可。这里只到2级标题,所以不作过深层次筛选,代码如下:

/*** 修改标题和正文样式*/
function 修改标题和正文样式(){// 循环获取段落信息for(var i = 1; i <= ActiveDocument.Paragraphs.Count; i++){// 获取每个段落范围的内容var rangeObj = ActiveDocument.Paragraphs.Item(i).Range;//   获取范围样式var styleName = rangeObj.Style;// 如果样式返回结果为空,则继续循环下一个if(!styleName) continue;styleName = styleName.toString();// 过滤出标题段落switch(styleName){case '标题 1': console.log(styleName);break;case '标题 2': console.log(styleName);break;case '标题 3': console.log(styleName);break;}}
}

输出结果:

1.5 增加修改样式函数

        这里增加一个修改样式的单独功能函数,这是因为减少代码冗余量,代码如下:

/*** 修改样式*/
function editStyle(rangeObj, name, size){// 选择当前内容rangeObj.Select();// 设置字段样式(font => {font.Size = size;font.Name = name;font.Blod = true;})(Selection.Font);	
}

1.6 修改标题样式

        前期准备工作做完后,现在则可以正式修改标题样式了,代码如下:

/*** 修改样式*/
function editStyle(rangeObj, name, size){// 选择当前内容rangeObj.Select();// 设置字段样式(font => {font.Size = size;font.Name = name;font.Blod = true;})(Selection.Font);	
}/*** 修改标题和正文样式*/
function 修改标题和正文样式(){// 循环获取段落信息for(var i = 1; i <= ActiveDocument.Paragraphs.Count; i++){// 获取每个段落范围的内容var rangeObj = ActiveDocument.Paragraphs.Item(i).Range;//   获取范围样式var styleName = rangeObj.Style;// 如果样式返回结果为空,则继续循环下一个if(!styleName) continue;// styleName = styleName.toString();// 过滤出标题段落switch(styleName){case '标题 1': editStyle(rangeObj, "黑体", 16);break;case '标题 2': editStyle(rangeObj, "楷体", 16);break;case '标题 3': editStyle(rangeObj, "仿宋", 14);break;}}
}

        点击运行宏,如下图:

        运行结束后,查看文档,则标题根据设置样式修改完成了,如下图:

二、修改正文

        这里细心朋友可能就发现了,修改“正文”内容就很简单了,直接在switch中增加一个case判断即可,代码如下:

/*** 修改标题和正文样式*/
function 修改标题和正文样式(){// 循环获取段落信息for(var i = 1; i <= ActiveDocument.Paragraphs.Count; i++){// 获取每个段落范围的内容var rangeObj = ActiveDocument.Paragraphs.Item(i).Range;//   获取范围样式var styleName = rangeObj.Style;// 如果样式返回结果为空,则继续循环下一个if(!styleName) continue;//styleName = styleName.toString();// 过滤出标题段落switch(styleName){case '标题 1': editStyle(rangeObj, "黑体", 16);break;case '标题 2': editStyle(rangeObj, "楷体", 16);break;case '标题 3': editStyle(rangeObj, "仿宋", 14);break;case '正文': editStyle(rangeObj, "宋体", 12);break;}}
}

运行结束后,标题和样式都根据代码中设定的样式,进行更新了,文档效果如下:

http://www.mmbaike.com/news/87676.html

相关文章:

  • 上海网站建设设计公司哪家好品牌广告语
  • 家里公网宽带做网站要备案么每日新闻简报
  • 容桂做外贸网站乐天seo培训中心
  • 专业做英文网站代写软文公司
  • 二手交易网站开发技术路线无锡网站制作推广
  • 洛阳网站建设公司全国疫情最新情况公布
  • 华夏名网修改网站信息济南seo关键词优化方案
  • 苏州做网站企业微信管理软件
  • 部署wordpress最应该用什么os网络营销就是seo正确吗
  • 中医网站模板seo外包如何
  • 平乡企业做网站网络服务提供者知道或者应当知道
  • 网站域名更改后怎么做映射线上推广方式有哪些
  • 深圳三级分销网站设计公司2023疫情最新情况
  • 成都招聘网站建设关键词搜索
  • 那间公司做网站好磁力猫最佳搜索引擎入口
  • 原创小说网站建设源码谷歌paypal官网
  • 网站建设如何做用户名密码如何推广平台
  • 做网站需要几个程序重庆seo和网络推广
  • 怎么做自己的网站弄商城佣金淘宝网络营销方式
  • 自己做的网站怎样赚钱吗app优化方案
  • 中国最好的网站制作源码网站
  • 阿里云做企业网站网络营销渠道类型有哪些
  • wordpress 工单优化设计五年级下册数学答案
  • 进一步推进网站建设app注册推广
  • 做网站哪个平台电商运营培训班
  • 泰州网站设计培训seo优化入门教程
  • 门户网站自查整改情况报告如何快速提升网站关键词排名
  • 未来对网站建设的需求郑州seo公司哪家好
  • 网站优化注意事项提升seo排名平台
  • 石家庄高端网站建设seo主要做什么工作