立即注册 登录
公卫人 返回首页

PH_Pr的个人空间 https://www.epiman.cn/?139252 [收藏] [复制] [RSS]

日志

聊聊WPS表格的技术活之自动化小白开辟新天地之Ribbon菜单第一课

热度 1已有 160 次阅读2024-12-16 21:29 |个人分类:聊点技术活| WPS, JavaScript, VBA

     日常使用Excel是在习惯不过了。学习一点VBA是非常方便的。概括起来,对我来说这些年主要就是为了解决大致三个方向的问题。
第一类就是日常发表收表汇总统计,表格形式固定,就很好完成,功能单一,就是合并、拆分。往上百度一把一把的代码,不一一赘述。
第二类就是疫情期间的那些产物,本人开发过一个只有一个功能的表格,就是把Excel当成流调数据库,选个人名,点下按钮,就生成一个Word流调报告。
第三类就是自定义一些具有特殊功能的函数,在日常工作中,不仅仅用系统的函数,用自己的函数更方便。有面向过程的,也有面向对象的。

微软 Excel VBA很灵活,有的代码写到Sheet表格的模块里,有的写到新建模块里,有的写到窗体里,有的写到Ribbon菜单功能区里。
国产 WPS JavaScript作为新星,不能像VBA那样写到Sheet表格的模块里,但是也还不错,代码写起来确实是比VBA要优美。目前我已经从VBA转到JS,无论是VBA ,还是JS,学点总是能有用上的时候。疾控无论哪个业务科室,多多少少都能用的上。VBA写的时候,能有自动提示,能枚举出来选项,但是WPS 的JS目前是真不太给力,不能给你太多的提示。
比如,找到这里就能进入开发环境:

然后,我们来写一句话“Hello,World!” ,点击小三角按钮运行它:

是不是很简单?是的,这几乎就是今后编程的基本过程了。那么要注意,如果想把程序只在本工作簿进行应用,就把该文件保存成后缀为“.xlsm”的文件。这是关键知识点之一。

那么,我每次都想运行一下这个程序,难道运行的时候就要到编辑器的环境里去点击小三角吗?当然不用。可以在表格里的任意位置放一个按钮,然后在按钮上右键选择查看代码,在大括号中间写下HelloWorld程序的名字,就实现了调用。如下:

我们退出设计模式,然后测试一下,点击按钮,就弹出这个提示,说明程序正常运行,如下:

但是,有的时候,总觉的非常别扭,这个命令按钮在表单里,挡着一些表格,非常不方便。那么我们可以把按钮放在WPS表格的菜单里。就像WPS菜单里其他的功能按键一样。这时,就要用到一个编辑XML的小工具,叫做Custom UI Editor For Microsoft Office,百度一下,免费的。安装好。打开它如图:

然后呢,用这个小软件打开我们刚才写进程序的那个文件“公卫人.xlsm”,注意这里的操作细节:一定要先保存关闭WPS表格文件后再用小软件打开“公卫人.xlsm”这个文件,打开之后这样的:

继续,插入一个例子,如下图操作:

然后出来了一堆堆的代码,不要管它,你刚接触可能还不明白,删成下图这样就行,留一个按钮的代码:

我们保存一下,关闭这个小软件后,双击打开“公卫人.xlsm”看一下,果然在菜单上有了个新选项卡,选项卡上有个新按钮,是个笑脸按钮:

关键的一步来了,我们现在要把这个笑脸按钮和我们写的一句HelloWorld程序关联起来。注意,我们再用小软件打开公卫人这个WPS表格文件,注意这个位置改成OnAction=“HelloWorld”就可以拉,然后从往上下载一个自己喜欢的图标,用小软件的插入功能,将图标插进来,再小软件里改一下图标的ID,在右侧代码的image=""的这个引号里写上这个图标的名称,保存,如下:

关闭小软件,我们再打开公卫人这个表格,点击已经制作好的按钮,成功了。

基本思路是上述这样。建立的一个相对美观简洁的程序。但,这里有一些小小的细节要注意哦。我没有细细展开。等待大家去发掘吧。






路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

改名|钢镚|会员|联系我们|公卫人 ( 沪ICP备06060850号-3|沪公网安备31010402334125号 )

GMT+8, 2025-8-31 07:31 , Processed in 0.039818 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部