7-16 WPS JS宏 RandBetween、Address实例8--[唯一性]类的应用

7-16 WPS JS宏 RandBetween Address实例8--唯一性类的应用

  • 函数

RandBetween

为excel函数,需要WorksheetFunction调用。

格式:WorksheetFunction.RandBetween(起点,终点)

Address

为显示地址

格式:区域范围等.Address()

二、 自定义类 测试

数据与结果1:

结果2:

生成新工作薄,写入不重复的名字

代码:

class zidinyihanshu{

//初始化设置,只要被激活先运行初始化内容,保存结果。

constructor(Rngs1){//初始化设置函数constructor

this.Rngs=Rngs1;//重点:调用Rngs1可直接使用,调用Rngs需要用this.Rngs

this.arr=Rngs1.Value().flat();//表达式返回属性值

this.list=...new Set(Rngs1.Value().flat());//打平数组,集合清理重复值再用\[\]变为数组

}

//需要时在调用

Sum1(){return this.arr.reduce((x,y)=>x+y)};//有返回值(函数)

Rngcolor(color){this.Rngs.Interior.Colorlndex=color}; //无返回值(函数)

color1(){

for (var v of this.list){

var num=WorksheetFunction.RandBetween(1,999999);

for (var a of this.Rngs){

if (a.Value()==v){a.Interior.Color=num}

}}}

}

//要求:着色各工作表的相同的姓名,并提取每表唯一值

function 重复值单元格上色(){

var arr=\[\];

for (var ws of Sheets){

var rns=ws.Range("a1",ws.Cells(999,"a").End(xlUp));

var disoj=new zidinyihanshu(rns);

disoj.color1();

arr.push(disoj.list)

}

Console.log(JSON.stringify(arr));

Console.log(rns.Address());//本节学习内容:Address()为显示地址

Workbooks.Add();

var lie=arr.reduce((x,y)=>(x.length>y.length)?x:y).length;

Range("a1").Resize(arr.length,lie).Value2=arr;

}

javascript 复制代码
////自定义类
class zidinyihanshu{
	//初始化设置,只要被激活先运行初始化内容,保存结果。
	constructor(Rngs1){//初始化设置函数constructor
		this.Rngs=Rngs1;//重点:调用Rngs1可直接使用,调用Rngs需要用this.Rngs
		this.arr=Rngs1.Value().flat();//表达式返回属性值
		this.list=[...new Set(Rngs1.Value().flat())];//打平数组,集合清理重复值再用[]变为数组
		}
	//需要时在调用
	Sum1(){return this.arr.reduce((x,y)=>x+y)};//有返回值(函数)
	Rngcolor(color){this.Rngs.Interior.Colorlndex=color}; //无返回值(函数)
	
	color1(){
		for (var v of this.list){
		var num=WorksheetFunction.RandBetween(1,999999);
		for (var a of this.Rngs){
		if (a.Value()==v){a.Interior.Color=num}
		}}}
	}


//要求:着色各工作表的相同的姓名,并提取每表唯一值
function 重复值单元格上色(){
var arr=[];
for (var ws of Sheets){
var rns=ws.Range("a1",ws.Cells(999,"a").End(xlUp));
var disoj=new zidinyihanshu(rns);
disoj.color1();
arr.push(disoj.list)
}
Console.log(JSON.stringify(arr));
Console.log(rns.Address());//本节学习内容:Address()为显示地址

Workbooks.Add();

var lie=arr.reduce((x,y)=>(x.length>y.length)?x:y).length;
Range("a1").Resize(arr.length,lie).Value2=arr;
}
相关推荐
Lhappy嘻嘻1 分钟前
Java 并发编程(六)|并发进阶高频:CAS、锁升级
java·开发语言
techdashen4 分钟前
Arborium:把 tree-sitter 语法高亮打包成 Rust 文档生态的基础设施
开发语言·后端·rust
会周易的程序员23 分钟前
microLog 后端开发指南
开发语言·c++·物联网·设计模式·日志·iot·aiot
Esaka_Forever24 分钟前
Python 完整内存管理机制详解
开发语言·python·spring
星空露珠33 分钟前
迷你世界UGc3.0脚本Wiki[剧情动画模块管理接口 Timeline]
开发语言·数据结构·算法·游戏·lua
未来之窗软件服务1 小时前
计算机考试-C语言 应用题—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟·计算机考试
想你依然心痛1 小时前
AtomCode在后端开发中的实战体验:Go微服务从零搭建
开发语言·微服务·golang
我是一颗柠檬1 小时前
【Java项目技术亮点】EXPLAIN深度分析与慢查询治理
android·java·开发语言
luj_17681 小时前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法
fei_sun1 小时前
【SystemVerilog】SystemVerilog与C语言的接口
c语言·开发语言