当前位置:   article > 正文

WPS Office JS宏实现批量处理Word中的表格样式_wps宏编辑器

wps宏编辑器

        由于本职工作原因,经常会用到office办公软件,经常很多内容审批后,需要统一修改内容或样式,如果Word文档中有上百页或上千页,则一个一个修改太麻烦了。

        在接触到WPSJS宏后,发现工作效率大大提升;如果你会前端开发,有JS基础上手会非常快;如果有VBA基础,就更得心应手了,因为对象和函数定义,基础是沿用office的VBA。

        其他不多说了, 先和大家分享下如何统一修改以上几个表格的样式。

        

一、打开宏编辑器

         首先,点击菜单栏上的“工具”,打开WPS JS宏编辑器,如下:

        然后,点击菜单栏下的“WPS 宏编辑器”,打编辑器窗口,如下图:

        最后,在编辑器“代码”处添加“宏”函数即可,如下图:

二、开始写宏

2.1 创建模块

        首先需要创建一个模块,用于定义宏函数,操作如下图,在“代码”上右击选择“插入”->“模块”即可。

  

2.2 定义宏函数

        会前端开发的朋友,肯定对function非常熟悉,不会的朋友也可以照葫芦画瓢即可实现想要效果。

2.3 获取表格及数量

        接下来,这里就不截图,直接贴代码了;先通过ActiveDocument获取当前需要执行的文档,再通过ActiveDocument.Tables获取表格数量。

  1. /**
  2. * 修改表格样式
  3. */
  4. function 批量修改表格样式(){
  5. let tableCount = ActiveDocument.Tables.Count;
  6. console.log(tableCount);
  7. }

        点击编辑器上执行按钮,即可选择当前宏函数,输出结果会在“立即窗口”中显示。

2.4 修改表格字体和大小

        这里需要注意的是,在前端开发中,JS数组索引都是从0开始的,但是WPS JS宏中,是从1开始的,如果从0开始执行中会报错无法正常执行。

        通过Tables的Item()方法,依次获取每个表格,并通过Select()函数选择指定的表格后,则可以使用Selection对象处理所选项目了。

  1. /**
  2. * 修改表格样式
  3. */
  4. function 批量修改表格样式(){
  5. // 获取表格对象
  6. const TableObj = ActiveDocument.Tables;
  7. // 循环所有表格数据
  8. for(let i = 1; i <= TableObj.Count; i++){
  9. // 选择当前表格内容
  10. TableObj.Item(i).Select();
  11. // 设置字体样式
  12. (obj=>{
  13. obj.Name = "宋体"; // 修改字体
  14. obj.Size = 10.5; // 修改字号
  15. })(Selection.Font);
  16. }
  17. }

2.5 修改字段行高

        ParagraphFormat为段落的所有格式,行高可以通过对属性LineSpacing进行调整,代码如下:

  1. /**
  2. * 修改表格样式
  3. */
  4. function 批量修改表格样式(){
  5. // 获取表格对象
  6. const TableObj = ActiveDocument.Tables;
  7. // 循环所有表格数据
  8. for(let i = 1; i <= TableObj.Count; i++){
  9. // 选择当前表格内容
  10. TableObj.Item(i).Select();
  11. // 设置字体样式
  12. (obj=>{
  13. obj.Name = "宋体"; // 修改字体
  14. obj.Size = 10.5; // 修改字号
  15. })(Selection.Font);
  16. // 调整断落行高
  17. Selection.ParagraphFormat.LineSpacing = 18;
  18. }
  19. }

2.6 WdParagraphAlignment枚举

        WdParagraphAlignment枚举可以指定段落的对齐方式,具体如下:

名称说明
wdAlignParagraphCenter1居中
wdAlignParagraphDistribute4段落字符被分布排列,以填满整个段落宽度
wdAlignParagraphJustify3完全两端对齐
wdAlignParagraphJustifyHi7两端对齐,字符高度压缩
wdAlignParagraphJustifyLow8两端对齐,字符轻微压缩
wdAlignParagraphJustifyMed5两端对齐,字符中度压缩
wdAlignParagraphLeft0左对齐
wdAlignParagraphRight2右对齐
wdAlignParagraphThaiJustify9按照泰语格式布局两端对齐

2.7 设置内容垂直居中

        修改段落居中样式,可使用 ParagraphFormat的Alignment属性进行修改,枚举值在2.6中已列出,根据需求设置即可。

  1. /**
  2. * 修改表格样式
  3. */
  4. function 批量修改表格样式(){
  5. // 获取表格对象
  6. const TableObj = ActiveDocument.Tables;
  7. // 循环所有表格数据
  8. for(let i = 1; i <= TableObj.Count; i++){
  9. // 选择当前表格内容
  10. TableObj.Item(i).Select();
  11. // 设置字体样式
  12. (obj=>{
  13. obj.Name = "宋体"; // 修改字体
  14. obj.Size = 10.5; // 修改字号
  15. })(Selection.Font);
  16. // 调整断落行高
  17. Selection.ParagraphFormat.LineSpacing = 18;
  18. // 垂直居中
  19. Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter;
  20. }
  21. }

        这次就先介绍到这,希望以上内容对您有帮助。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/742179
推荐阅读
相关标签
  

闽ICP备14008679号