找回密码
 立即注册

QQ登录

只需一步,快速开始

lovert

银牌会员

42

主题

472

帖子

2330

积分

银牌会员

积分
2330

[资源分享] 自定义函数教程

lovert
银牌会员   /  发表于:2021-8-9 21:04  /   查看:3320  /  回复:12
本帖最后由 lovert 于 2024-4-15 11:05 编辑

照猫画虎,看看我写的自定义函数UNIQUEE(参数1),函数的功能很简单,就是将用逗号隔开的字符串去掉重复的例如:UNIQUEE("aa,aa,bb,cc,aa,bb,dd,dd,ss,ss,ss")结果就是"aa,bb,cc,dd,ss"
image.png537810668.png



上面的自定义函数是针对(A1,B1,B2)这个格式的参数引用,对于像(A1:K1)这种单元格区域的引用的自定义里面的获取区域值得方式就发生了变化
image.png964832763.png
注意红色框的变化,还有下面的红色框语句写的位置,写到上面了,就错了
image.png98069151.png
使用前设计器上传js
}I(Y{{_NOR6HB1CL1]_KVIQ.png653977355.png

自定义函数源码.zip

2.72 KB, 下载次数: 93

评分

参与人数 3金币 +666 满意度 +10 收起 理由
夜宵 + 5
Chelsey.Wang + 666 赞一个!
孤狼 + 5

查看全部评分

12 个回复

正序浏览
lovert
银牌会员   /  发表于:2024-4-13 09:44:16
来自 11#
var row = arg2.yf[0].row;
        var col = arg2.yf[0].col;
var rowCount = arg2.yf[0].rowCount;
var colCount = arg2.yf[0].colCount;这个是错的,yf是代码压缩后的属性名称,如果spreadjs版本变了这个就失效了,新版本
yf已经变成了$gt了
正确的应该是调用

var row = arg2.getRow();
var col = arg2.getColumn();
var rowCount = arg2.getRowCount();
var colCount = arg2.getColumnCount();
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-10 13:59:03
推荐
很好!!!!
数组去重只需要这样就可以

var newArray = [...new Set(arguments)];
回复 使用道具 举报
lovert
银牌会员   /  发表于:2024-4-20 07:50:13
13#
本帖最后由 lovert 于 2024-4-20 07:53 编辑
zhojinggu 发表于 2024-4-19 22:17
看能不能帮忙封装一个插件,然后把if等这些函数都做进去。我这边有偿开发需求

if语句就是活字格命令里的条件语句,本身就是基本功能,不需要插件,官方的还有循环命令、设置单元格属性、设置变量等基本的类似于js赋值命令,这些都可以实现js的逻辑,不需要再封装成插件


再说插件里封装的自定义函数在页面中不能使用,我试过了,你就是把自定义函数js放在页面加载命令里,都不能使用,必须放在整个程序设置的js设置里,自定义函数是全局的
回复 使用道具 举报
zhojinggu
初级会员   /  发表于:2024-4-19 22:17:26
12#
看能不能帮忙封装一个插件,然后把if等这些函数都做进去。我这边有偿开发需求
回复 使用道具 举报
137294886
金牌服务用户   /  发表于:2023-6-13 14:51:06
10#
厉害
回复 使用道具 举报
dtcq讲师达人认证
金牌服务用户   /  发表于:2023-6-13 13:18:21
9#
厉害
回复 使用道具 举报
hubei333
高级会员   /  发表于:2021-8-11 11:56:17
8#
感谢分享,不懂代码,崇拜中全部照抄
回复 使用道具 举报
olookok活字格认证
论坛元老   /  发表于:2021-8-11 11:13:44
7#
一看到代码,莫名的崇拜
回复 使用道具 举报
lovert
银牌会员   /  发表于:2021-8-10 14:37:07
6#
百度给了12种方法,你的这个是最简洁的但也存在兼容性问题
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部