方法一:选择【开发工具】-【WPS宏编辑器】。方法二:按住Alt+F11
02函数
WPS JS每条语句后面可以有“”,也可以没有“”,程序都可以运行。
函数名可以用中文命名。
按F5默认会执行最后一个函数,如下代码就会输出MrFlySand-飞沙。
alert()就是窗口输出
console()就是控制台输出
Debug.Print()
注意:在代码中所有标点符号在要英文状态下输入。
function 输出2(){
alert("MrFlySand-飞沙-520")
}
function 输出(){
alert("MrFlySand-飞沙")
}
登录后复制
03单元格
3.1读取单元格/输出单元格
3.1.1选择工作表
Sheets.Item()是选中工作表,excel默认的第一个工作表名称也是Sheet1。
Sheets.Item(2)是选中第2个工作表。圆括号()里面可以是数字如果里面是一个数字n,表示它是第n个表。
Sheets.Item("飞沙的成绩")是选中的是“飞沙的成绩”工作表,注意:中文飞沙的成绩要在英文双引号""里面。
3.1.2选择单元格
Range()选择单元格
Value2意思就是值或元素
WPS JS可以使用运算符“+”,"A"+2就是A2。注意:"A"&2是错误的语法
function 读取单元格(){
// 输出第1个工作表的A1单元格的值
alert(Sheets.Item(1).Range("A1").Value2)
// 输出工作表名为Sheet2的A2单元格的值
alert(Sheets.Item("Sheet2").Range("A"+2).Value2)
}
登录后复制
3.2运用库函数和给单元格赋值
Date()是获取当前时间的函数
Sheets.Item(1).Range("A1").Value2 = Date()意思是:第1个的工作表中A1 = 现在的日期
function Fun(){
Sheets.Item(1).Range("A1").Value2 = Date()
alert(Sheets.Item(1).Range("A1").Value2)
}
登录后复制
3.3设置单元格的颜色和背景
function MyFun(){
//选中B4单元格
Range("B4").Select()
//圆括号里面就是选择B4单元格的文字
(obj=>{
//改变这个字体的颜色
obj.Color = 2
})(Selection.Font)
//圆括号里面就是选择B4单元格的内部背景
(obj=>{
//改变这个背景的颜色
obj.Color = 65536
})(Selection.Interior)
}
登录后复制
04 新建工作表
function 新建工作表(){
var sht=Worksheets.Add(null,Sheets(Sheets.Count))
sht.Name="mrflysand的数据分析表"//工作表的名称
}
登录后复制
05 if判断
如果第1个工作表的A1单元格的值是1,输出“1”和“有1或2”;如果第1个工作表的A1单元格的值不是1或2,输出“没有1和2”。
其中||表示或
function 读取单元格(){
// 输出第1个工作表的A1单元格的值
alert(Sheets.Item(1).Range("A1").Value2)
// 判断语句
if(Sheets.Item(1).Range("A1").Value2==1 || Sheets.Item(1).Range("A1").Value2==2){
alert("有1或2")
}else{
alert("没有1和2")
}
}
登录后复制
06循环
6.1 实例一
for(步骤1步骤2步骤4){步骤3},for循环的执行步骤:
步骤1:定义i的初始值
步骤2:判断i的值是否符合条件,如果符合条件,执行步骤3;如果不符合条件,则结束。
步骤3:每次要执行的内容1,如一些代码程序
步骤4:每次要执行的内容2,一般情况下是自增
function Loop(){
for(var i=1i<=5i++){
alert(i)
}
}
登录后复制
运行结果:
1 2 3 4 5
登录后复制
6.2 实例二
function LoopArr(){
var arr = ["公众号","小知识酷","关注不迷路"]
for(var i=0i<=2i++){
Sheets.Item(1).Range("A"+(i+1)).Value2 = arr[i]
}
}
登录后复制
运行结果
代码解释说明
i=0时,"A"+(i+1)=A1,Range("A1"),arr[0]="公众号"
i=1时,"A"+(i+1)=A2,Range("A2"),arr[1]="小知识酷"
i=2时,"A"+(i+1)=A3,Range("A3"),arr[2]="关注不迷路",循环就会停止。
07数组
Resize(row,list)选中多个单元格,相当于一个二维数组。Resize(1,5)表示1行5列的一维数组;Resize(2,5)表示2行5列的二维数组;Resize(5,5)表示5行5列的二维数组。
row:选中多少行
list:选中多少列
array.length:数组的长度
array:数组名
length:长度,数组里面元素个数
function 一维数组(){
// 一维数组的定义
arr=["MrFlySand","飞沙",'QQ',2602629646]
alert("数组里面元素个数:"+arr.length)
// 只在在A1单元格写入MrFlySand
// 只是把第一个元素放在单元格中
Sheets.Item(1).Range("A1").Value2 = arr
// 只在在A6单元格写入MrFlySand
// Resize(1,1):第一个1表示只显示1行;第2个1表示数组中第1个元素
Sheets.Item(1).Range("A6").Resize(1,1).Value2 = arr
// 在A11:C11单元格写入"MrFlySand","飞沙",'QQ'
// Resize(1,4):1表示只显示1行;3表示数组中前第3个元素
Sheets.Item(1).Range("A11").Resize(1,3).Value2 = arr
// 在A16:D18单元格写入"MrFlySand","飞沙",'QQ',2602629646
// Resize(3,arr.length):3表示显示3行;arr.length表示数组中元素的个数,及长度为4
// 选中的格子读入的数据是一个一维数组
Sheets.Item(1).Range("A16").Resize(3,arr.length).Value2 = arr
}
登录后复制
7.1一维数组的输出
function arr(){
let arr= ["MrFlySand","飞沙",'QQ',2602629646]
Sheets.Item(1).Range("A1").Resize(1,arr.length).Value2 = arr
}
登录后复制
输出内容
7.2一维数组的遍历
function Fun(){
// 定义数组
const arr = new Set(["MrFlySand","飞沙",'QQ',2602629646])
//i表示值,arr表示在这个数组中遍历
for (let i of arr) {
Console.log(i)
}
}
function Fun1(){
let arr= ["MrFlySand","飞沙",'QQ',2602629646]
// 定义数组
//n表示值,arr表示在这个数组中遍历
for(let n of arr){
Console.log(n)
}
}
登录后复制
7.3二维数组的输出
输出下方的表格
代码说明:
在WpsJs中数组的下标是从0开始的
二维数组的定义格式:函数名=[["1","2"],["3","4"],["5","6","7"]]就比如在1个数组(1个年级)中有3个数组(3个班),且这3个数组(3个班)中有2个不同的学生。
arr.length获取1个数组(1个年级)中有几个数组(n个班)
arr[0].length获取1班的人数,有2个学生,分别是1、2
arr[1].length获取2班的人数,有2个学生,分别是3、4
arr[2].length获取3班的人数,有3个学生,分别是5、6、7
function 二维数组(){
// 二维数组的定义
arr=[["MrFlySand","飞沙",'QQ',2602629646],[2602629646,'QQ',"飞沙","MrFlySand"]]
// 输出二维数组的行数和列数
alert("行数:" + arr.length + ",列数:"+arr[0].length)
// 输出二维数组的2行3列的值/输出第2个学生的英文名
alert("2行3列的值:" + arr[1][3])
// 输出二维数组的1行/输出第1个学生的所有个人信息
Sheets.Item(1).Range("A1").Resize(1,arr[0].length).Value2 = arr[0]
// 输出二维数组的2行/输出第2个学生的所有个人信息
Sheets.Item(1).Range("A2").Resize(1,arr[0].length).Value2 = arr[1]
}
登录后复制
7.4数组输出行和输出列
arr1是一个一维数组,输出显示的是一横排。
arr2是一个二维数组,输出显示的是一竖排。
function arr(){
let arr= ["MrFlySand","飞沙",'QQ',2602629646]
Sheets.Item(1).Range("A1").Resize(1,arr.length).Value2 = arr
let arr1= ["MrFlySand","飞沙",'QQ',2602629646]
Sheets.Item(1).Range("A3").Resize(4,4).Value2 = arr1
let arr2 = [["MrFlySand"],["飞沙"],['QQ'],[2602629646]]
Sheets.Item(1).Range("A8").Resize(4,1).Value2 = arr2
}
登录后复制
以上代码输出内容
7.5使用循环输出列
function arr2(){
let arr= ["MrFlySand","飞沙",'QQ',2602629646]
for(var i=1,j=0j<=arr.lengthi++,j++){
Sheets.Item(1).Range("A"+i).Value2 = arr[j]
}
}
登录后复制
08类的使用
// 声明类
class Arms{
// 构造函数,给属性传值
constructor(name, attack) {
this.name = name
this.attack = attack
}
//返回当前装备的属性值
toString() {
return '名称:' + this.name + ', 攻击力:' + this.attack + ''
}
}
function 类(){
//定义类
let arr=new Arms("AK47-MrFlySand",88)
// 输出类
alert(arr.toString())
Sheets.Item(1).Range("A1").Value2 = arr.toString()
}
登录后复制
关注查看全文
css
java
vba
项目管理
python
泰迪犬怎么喂养
精选推荐
广告
Javascript中最常用的55个经典技巧.wps
25下载·1评论
2009年3月22日
JS入门必看全套笔记
9下载·0评论
2018年2月5日
WPS-JS宏开发-基础知识-03-三大基本结构
510阅读·0评论·0点赞
2022年10月22日
WPS JS宏入门案例集锦
7388阅读·5评论·17点赞
2022年9月28日
wps_excel办公+JS宏编程教程基础到进阶+函数使用手册+excel中使用JS代码实现宏编程。
41下载·0评论
2022年7月28日
wpsjs插件开发-采用js和wps交互功能
2793阅读·0评论·0点赞
2022年7月20日
高清播放机,图片大全,点击查看详情!
精选推荐
广告
WPSJS加载项技术介绍
1760阅读·0评论·0点赞
2022年6月1日
WPS中JS宏简单运用
1.1W阅读·3评论·5点赞
2021年11月22日
WPS Excel JS宏简单使用
4041阅读·0评论·3点赞
2022年4月13日
WPS下 宏使用js编写及一些脚本
3.1W阅读·2评论·6点赞
2021年12月9日
javascript资料.wps
13下载·0评论
2012年11月26日
WPS-JS宏开发-基础知识-01-初识
5888阅读·0评论·1点赞
2022年6月11日
WPS JS隔一列插入一列
241阅读·0评论·0点赞
2022年4月15日
wps开发工具vba
59下载·3评论
2015年10月29日
WPS宏插件使用教程
7140阅读·0评论·0点赞
2022年7月6日
Wps开发工具-宏的使用
1.2W阅读·0评论·0点赞
2022年1月6日
在线编辑、在线预览、在线转换,基于wps.js + java + react / vue,无需任何插件,零安装
13.3W阅读·165评论·43点赞
2019年11月12日
WPSJS加载项在线模式和离线模式
1244阅读·0评论·0点赞
2022年6月1日
WPS JS 加载项
4037阅读·5评论·0点赞
2021年4月20日
去首页
看看更多热门内容
用INDEX数组也可以完成=index(数据页!D:d,SMALL(IF(数据页!$A$2:$A$100=$C$5,ROW(数据页!$A$2:$A$100),65536),ROW(A1)))&""同时按CTRL SHIFT 回车键