WPS表格 JSA 学习笔记

Posted 笑虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPS表格 JSA 学习笔记相关的知识,希望对你有一定的参考价值。


欢迎加入 551293360 QQ交流群

自定义公式

function 加括号(区域, 左括号, 右括号){
	return `${左括号}${区域}${右括号||左括号}`;
}

单元格拼接JSON

function jsonStr(rng){
	return `{"descp":"${rng.Cells.Item(1,1).Value2}","name":"${rng.Cells.Item(1,2).Value2}","key":"${rng.Cells.Item(1,3).Value2}"},`;
}

单元格内文字颜色

function test(){
	var len = Range("A1").Value2.length;
	for(let i = 1; i<=len; i++){
		Range("A1").Characters(i,1).Font.ColorIndex = i+7;
	}
}

Sheet 工作表

工作表引用

function tes1t(){
   Application.Worksheets.Item(1).Cells.Item(1, 1).Value2 = "按索引取工作表s1";
   Range("A2").Value2 = "当前活动区域赋值s1";
   
   Application.Worksheets.Item("Sheet1").Cells.Item(1, 2).Value2 = "按名称取工作表s1";
   Cells.Item(2, 2).Value2 = "当前活动单元格赋值s1";
}

Range

单元格引用

function tes1t(){ 
   Application.Worksheets.Item("Sheet2").Activate();
   Range("A1").Value2 = "当前活动区域赋值s2";
   Cells.Item(1, 2).Value2 = "当前活动单元格赋值s2";
}

填写公式

A1:H8范围内,每个单元格都填充公式Rand()

function test(){
    Application.Worksheets.Item("Sheet1").Activate();
	Application.Range("A1:H8").Formula = "=Rand()";
}

单元格赋值

注意:使用Value2

function test(){
	Application.Range("A1:H1").Value2 = "666";
}

A1:E1区域赋值

function test(){
	Range("A1:E1").Value2 = [1,2,3,4,5] ;
}

遍历

遍历Range处理单元格内容

A1:A20 的内容加个括号

function 遍历Range加括号(){
	var rng = Range("A1:A20");
	rng.Value2 = rng.Value2.map(v => {
		return `${v}`;
	});	
}

遍历Range处理单元格颜色

A1:A20 改背景色

function 遍历Range改背景色(){
	var rng = Range("A1:A20");

	Array.from(rng).forEach(v => {
		(obj=>{
			obj.Color = 5296274;
		})(v.Interior);
	});
}

遍历Range加批注

function 遍历Range加批注(){
	var rng = Range("A1:A20");
	let len = rng.Count;
	
	for(let i=1; i<=len; i++){
		let obj = rng.Cells.Item(i,1);
		obj.ClearComments();
		obj.AddComment(Date.now().toString());
	}
}

遍历Range加批注(带背景图)

function 遍历Range加带背景图的批注(){
	var rng = Range("A1:A5");
	let len = rng.Count;
	
	for(let i=1; i<=len; i++){
		let obj = rng.Cells.Item(i,1);
		obj.ClearComments();
		obj.AddComment(Date.now().toString()); // 批注内容为时间戳
		obj.Comment.Shape.Fill.UserPicture(`${Application.ActiveWorkbook.Path}\\\\img\\\\WPS-${i}.jpg`); // 批注添加背景图片 .\\img\\WPS-*.jpg
	}
}

Cells 遍历单元格

Sheet 范围内遍历

嵌套循环输出乘法口诀表

function test(){
    Application.Worksheets.Item("Sheet1").Activate()
    for(let i = 1; i <= 9; i++){
	    for(let j = 1; j <= 9; j++){
	        Application.Cells.Item(i, j).Value2 = i*j;
	    }
    } 
}

Range 范围内遍历

嵌套循环输出乘法口诀表
这里的i,j表示range范围内的偏移量

function test(){
    Application.Worksheets.Item("Sheet1").Activate()
    let rng = Range("C5:P20");
    for(let i = 1; i <= 9; i++){
	    for(let j = 1; j <= 9; j++){
	        rng.Cells.Item(i, j).Value2 = i*j;
	    }
    } 
}

参考资料

WPS 开放平台
WPS 宏编辑器概述
WPS 表格:自定义函数
从Visual Basic Script 转到 JavaScript

以上是关于WPS表格 JSA 学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

WPS表格 JSA 学习笔记

WPS表格 JSA 学习笔记

WPS表格 JSA 学习笔记 - 实现设置编号并添加到自定义选项卡

WPS表格 JSA 学习笔记 - 批量设置图片

WPS表格 JSA 学习笔记 - 批量设置图片

WPS表格 JSA 学习笔记 - 实现贪吃蛇