欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > WPS宏编辑器开发,单元格内容变更自动触发事件

WPS宏编辑器开发,单元格内容变更自动触发事件

2025/5/6 23:12:08 来源:https://blog.csdn.net/changhuzichangchang/article/details/143718863  浏览:    关键词:WPS宏编辑器开发,单元格内容变更自动触发事件

WPS中Excel的“触发器”

  • 写在前面
  • 宏的开发
    • 1、切换宏编辑器开发环境
    • 2、小练习:自定义函数
    • 3、完成功能需求:单元格内容变更自动触发事件
  • 总结

写在前面

我先生用EXCEL做了一张学生存款表。设计得很简单,A学生已存款X元,A学生再次存款Y元,A学生此时的存款金额就为X+X的利息+Y,并且把存款日期更新成当前日期。里面涉及到了一个功能:也就是当存款金额发生变动的时候,更新存款日期。先生觉得手动更改太麻烦,就问我有没有什么办法。
我想了下,假如我编个程序来进行这项工作是很简单的,但是如何在Excel中来完成这个操作确实没有头绪。于是我打开搜索,输入Excel触发器,然后就看到了这个又熟悉又陌生的名词。
以上是背景。

宏的开发

先不管宏是什么,我们直接上手用一下。

1、切换宏编辑器开发环境

首先新建一张工作簿,点击“工具”选项卡中的“开发工具”

在这里插入图片描述

对于部分VBA和WPS宏编辑器共存的WPS版本,默认的开发环境是VBA,您可以通过点击“开发工具”选项卡的“切换到JS环境”来切换当前的开发环境,如下图:
在这里插入图片描述
切换到JS环境后,点击“WPS宏编辑器”选项卡,会跳出宏编辑器窗口,我们就可以在这个窗口中进行代码编程。
在这里插入图片描述
在这里插入图片描述

2、小练习:自定义函数

在WPS 开放平台中有一篇名为《自定义函数》的文章,可以仿照练习,对宏编辑器的功能进行一个简单的认识。
在这里插入图片描述
注意这里存储文件的时候,会弹出“无法在未启用宏的工作簿中保存以下功能”的提示。
在这里插入图片描述
这是由于VBA或者宏代码有一定的危害性,为了提高安全意识,凡是以XLSX为后缀名的文件都不能含有宏代码,这样收到文件的人就可以一目了然的了解文件是否含有宏。当在弹出的提示框中直接选择“是”时,保存的文件将自动删除所有的宏代码。如果需要保存为含有宏代码的文件,则可以单击按钮“否”然后选择其中一个文件类型。
在这里插入图片描述

3、完成功能需求:单元格内容变更自动触发事件

学习了宏编辑器的基础使用后,回到我们最开始的功能需求:当存款金额发生变动的时候,更新存款日期。也就是指定单元格内容变更时自动触发一个事件。在WPS开放平台中,我们可以看到,SheetChange这个事件可以满足我们的需求。接下来使用该事件进行编程。
在这里插入图片描述
语法示例:在这里插入图片描述
针对我们的功能需求进行编程如下:

function Workbook_SheetChange(Sh, Target)
{if(Target.Column==4){Target.Select()var strTitle="来自十一的温馨提示"var strMessage=Range("B"+Target.Row) +"的本金发生修改,是否更新其存款时间?"var nStyle=jsYesNo+jsExclamation+jsDefaultButton2var ret=MsgBox(strMessage,nStyle,strTitle)if(ret==jsResultYes){Range("C"+Target.Row).Value2=new Date()}}
}

在这里插入图片描述
在这里插入图片描述

总结

酷,没想到Excel居然也能用到编程了。
具体语法,参考WPS开放平台中提供的接口。
WPS开放平台
MsgBox
Range
JS语法学习
WPS JS 宏教程(一)-宏的介绍
WPS JS 宏教程(二)-从VBA到JS宏
WPS JS 宏教程(三)-自定义函数
WPS JS 宏教程(四)-WPS表格中的事件
WPS JS 宏教程(五)-编写 WPS 宏的工具箱

Java基础不好的小水怪,正在学习。有错请指出,一起加油。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词