【WPS】WPS的JS宏脚本编写总结

1 背景

使用WPS表格,需要删除偶数行数据。

如图,第3、4行和第5、6行中有合并的单元格,我要删除第4、6、8行,数据自动会落在剩下的行里。

2 代码

// 运行环境:WPS JS宏编辑器
// JS 代码
// 功能:删除第4行开始的偶数行
// 注意:因为删除行之后,行号会变化,所以i其实是顺位从4到150
// Delete有两个可选参数,xlShiftUp表示下一个单元格上移动,xlShiftToLeft表示右格左移
function Macro2()
{
	var i=4;
	for(i=4; i<150; i++){
		ran = "A"+i+":"+"P"+i            // A4:P4,A5:P5,整行数据
		Range(ran).Delete(xlShiftUp)     //下一行格子上移
	}
}

3 经验总结

以前只知道Office中要用VBA写代码,才发现WPS中可以用JavaScript写代码。

WPS官方API等手册网址:https://open.wps.cn/docs/client/wpsLoad

3.1 WPS宏编辑器的使用介绍

 3.2 WPS的宏编辑器API和表格API

3.3 开发经验

比较快捷的办法:就是先用【开发工具-录制新宏】录制自己的键鼠动作,然后WPS会自动生成宏的JS代码,然后在这个代码基础上增删改改,可以通过此方法,找到很多不熟悉的函数。这比翻API手册快很多。

 

### WPS 宏代码 Word 编写教程 #### 一、了解环境设置 在WPS编写用于Word文档的宏代码前,需确认已开启开发者选项以便访问编辑器。对于具备前端开发经验或熟悉JavaScript的人来说,在学习WPS JS编程方面会有更快上手速度[^2]。 #### 二、创建简单实例 下面展示一段简单的宏代码例子,该段代码实现了遍历当前活动文档内的所有表格并应用指定样式的功能: ```vba Sub ApplyTableStyle() Dim tbl As Table For Each tbl In ActiveDocument.Tables tbl.Style = "样式2" Next tbl End Sub ``` 这段脚本通过循环迭代`ActiveDocument.Tables`集合中的每一个成员来逐一修改其样式属性至预设值“样式2”。此过程展示了基本的对象模型操作方法以及如何利用内置对象完成特定任务[^3]。 #### 三、深入理解JS特性 当涉及到更加复杂的逻辑需求时,比如要对多个Word文件里的表格执行统一格式调整工作,则可以借助于WPS提供的JS能力来进行批量化处理。例如,针对多份文档内相同位置处存在的表格实施一致性的外观美化措施等场景下显得尤为高效实用。 #### 四、具体应用场景——自动编号 对于希望实现Word表格内部数据项按序排列的需求而言,可以通过编写专门定制化的JS程序达成目的。特别是面对含有众多表格的情况时,这种方法能够显著减少重复劳动量。如下所示即是一则适用于此类情形下的解决方案片段[^1]: ```javascript function autoNumberTables(doc){ let tables=doc.getBody().getElements("w:tbl"); for(let i=0;i<tables.length;i++){ let rows=tables[i].getRows(); for(let j=0;j<rows.length;j++){ let cells=rows[j].getCells(); for(let k=0;k<cells.length;k++){ // 假定首列存储编号信息 if(k===0 && !isNaN(parseInt(cells[k].getText()))){ cells[k].setText((parseInt(cells[k].getText())+i*100).toString()); } } } } } ``` 以上函数接收一个document对象作为参数输入,并对其正文部分所含有的全部表格结构依次进行扫描与更新动作。这里假设每张表的第一列为待编排序列号字段,并据此进行了相应的数值累加运算以体现不同表格之间的区分度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qilei2010

送我一张彩票中了平分

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值