★★★ 如何往WPS文档内部表格右键添加自定义命令

问题

🔔

网友要添加自定义菜单,ASKME

通过 <contextMenu idMso="ContextMenuText">

将命令添加进WPS右键

但是发现一个问题,只有WPS内文字右键,可以出此自定义命令。

而WPS插入表格内,则没有。

我当时回复:

因为WPS右键有很多,菜单ID都不同。

如:

普通右键菜单

表格右键菜单:

(挺长)

表格按钮右键菜单:

这个

和表格内差不多,有些改变,并且多了个会员专享。

目录右键:

批注右键菜单:

等等。由图可见,右键ID不同,分布多样

因为右键命令套用的ID不同。

导致<contextMenu idMso="ContextMenuText">只能导入到普通菜单里

表格右键不认。

我试了几个其他IDMSO,都没有效果。

折腾一圈,无济于事。太费劲,

不想走这条路了。

于是借鉴了之前的思路,用VBA直接加进去,岂不省事?

VBA加入右键思路见:

https://bbs.wps.cn/topic/79556

只要知道ID号就可以了。找到了表格菜单右键内部ID号为:TABLE TEXT

即可成功。

当然,已经千锤百炼,屡试屡验了。

但是网友却有顾虑:

并且他提出了思路:可不可以加这里面。

这里面是可以的。

参见我的另一篇文章:https://bbs.wps.cn/topic/59927

★★☆ WPS右键添加栏初探

但是有个问题:只能加内置命令,加不了自定义命令。

那显然不行。

我又想能不能加到快捷启动栏。

想了想。还是一样,快捷启动栏还是要宏。和前面思路重复了。

又出个主意:选项卡。

网友没有回应。

想想也是不方便。做成右键就是想让他方便一些,包括网友提出的右键添加栏也是一样。

本质目的就是想选中、右键即可,不用再去翻找选项卡了。选项卡如果不用宏,那些快捷键命令也挺不好用的。

那似乎就没有办法了。但我总觉得,这才哪到哪啊,还完全没有把所有路都探索一遍,远没到山穷水尽的时候。于是安慰:

这个其实也正是我继续测试、折腾的。

就是用各种邪修骚操作,野路子,野狐禅,不走寻常路的方法,来实现自己的目的。

因为折腾着折腾着,你就会发现意想不到的方法。

走错了也没关系,很多发现都是从走错路开始的。

选中右键表格内容同时,跳选表格外内容(如一个内置符号)

发现是可以的。

比如:右键表格内内容,同时CTRL跳选表格外一个回车符

是可以出现自定义命令的。

但是,代入代码,发现无效。

不能有效引用“搜索”,只能引用回车符。

(引用只有看不见的回车符号,不能引用搜索)

也就是我说的“形式主义”,只能做到貌似,而没有实质。

除非连续选择,不跳选,是可以的,可以一股脑把所选所有文字都激活,但这显然不会是网友想要的。

因此只能再寻他法。

再回过头去找IDMSO命令。

直接把能找到的都打包嵌入。

发现,没有一个能打的。

全不能用,投石问路,都是石沉大海

一百多个命令,愣是没有一个可以支棱起来的。

全都进不去那个表格右键菜单。

似乎有一道无形的结界。

我就纳闷了,一个表格右键,门槛有那么高啊?

有点让人费解。左右都进不去

有一种某个三本,录取用到了清北分数的感觉。

全都没用,公司不养闲人,本想全部删除了。

后来手停顿了一下。没删。

先留着吧。做一支伏兵,说不定什么时候就能派上用场。

(斧头帮暂时放过了星爷的画面。)

那IDMSO这条路也不行,能想到的都想到了。

女神这么难追。

那还是再回去,听妈妈的话,追另外一个普通的吧

再继续各种疑难操作。看看能不能乘WPS没有在意的时候,突然就跳出一个BUG,或者一个入口。

包括不限于

上述的WPS表格插入批注。

把WPS表格放入文本框。

总之各种折腾,卡BUG

最后以对象方式插入另一个WPS时候让我看到了希望。

等等!

这里似乎多出来什么

那一支伏兵

刚才想删除手犹豫一下又放过的的那一百多个间谍!

报恩来了。

终于有两个带回来消息,成功打入敌人内部了!

编号106、107……

找到了他们的命令是:

<contextMenu idMso="ObjectBringToFrontMenu">

<button id="Btn_Text106" label="文字106" onAction="ShowMessage"/>

</contextMenu>

<contextMenu idMso="ObjectSendToBackMenu">

<button id="Btn_Text107" label="文字107" onAction="ShowMessage"/>

</contextMenu>

这两兄弟还可以。

一个就够了。

能成功混进去。还来了个双保险。

先挑第一个 idMso="ObjectBringToFrontMenu"

打开WPS的 PopupMenu.kuip

找ObjectBringToFrontMenu的IDMSO

找到了。ID是 OrderUpMenu

再找到WPS表格的右键入口集

就是这里,想进去的话,一把都是要门票的。

IDQ

都是内部票。

只发给WPS员工。

我们普通网友(自定义命令)混不进去。

但是ObjectBringToFrontMenu就像一辆汽车 🚗

有WPS内部车牌号。

一扫码,内部车。杆一抬,可以进!

那就把那个没票的网友,塞进这辆汽车!

车牌号就是一张门票。

车进去了,网友也就进去了:)

ID是 OrderUpMenu

那门票就应该是:

IDQ="OrderUpMenu"

修改KUIP,关闭WPS,删除缓存,打开刷新

成功啦!

106成功的混了进去!

虽然这两车出现在这里有点不伦不类。

像昨晚看的变形金刚汽车混进了南美的某个集会。

有点怪异,但是不要在意这些细节拉。

关键是已经混进去了!哈哈

这时候就不用再化妆了。去除伪装,露出它本来的真实面目。

汽车变形。

重新把网友的代码加载进XML。

(没有editor工具可以直接用WINRAR打开)

覆盖。

曲径通幽。

虽然不是很好看,不过四舍五入这些视觉效果,起码是达成了不用宏就可以嵌入自定义命令的目的。

不过最关键的,命令还没有测试,不知道可不可以。不过如果不可以,我暂时也没时间折腾了,还要做别的事呢,

先发到这吧

安徽省
浏览 53
2
5
分享
5 +1
1
2 +1
全部评论 1
 
Yang✌🏻
好用爱用 多发点。
· 河南省
1
回复