Global
- 说明:
- 全局函数,主要是is和as系列函数,提供类型判断和匿名类型的输入提示
- 作者:
-
- 郑广学 2023.9.24 微信公众号EXCEL880 官网vbayyds.com
函数:
f1(fxname)
- 说明:
- 这个函数用于在wps的jsa立即窗口快速打开jsa880帮助
参数列表:
参数名称 |
参数类型 |
备注 |
fxname |
String
|
函数名 以Array2D.pad这样的完整名称 $.pad 简写不支持 |
例子
立即窗口输入 f1("Array2D.pad") 回车会直接打开帮助
$(x) → {Range}
- 说明:
- 这个函数用于Range和Cell的快捷方式 $("A1")->Range("A1"); $(1,1)->Cells(1,1)
以及 RngUtils,ShtUtils,DateUtils三个函数库的快速调用入库 用 $.marRange('A1') 即可相当于用RngUtiles.maxRange('A1')
参数列表:
参数名称 |
参数类型 |
备注 |
x |
any
|
单元格地址('A1') 单个数字(1),或者2个数字(1,1) 以及单元格对象 |
返回值:
返回创建的单元格对象
-
Type
-
Range
例子
//示例1
var range = $("a5");
console.log(range.Address()); // 新创建的单元格对象
//输出结果
$A$5
//示例2
var range = $(5,1); //第5行, 第1列 相当于 Cells(5,1)
console.log(range.Address()); // 新创建的单元格对象
//输出结果
$A$5
$fx(path) → {function}
- 说明:
- 这个函数用于worksheetfunction对象的简写
参数列表:
参数名称 |
参数类型 |
备注 |
path |
string
|
函数对象的路径 |
返回值:
返回worksheetfunction
-
Type
-
function
例子
var rs = $fx.Sum(1,2,3);
console.log(rs); // 调用工作表函数sum
//输出结果
6
$toArray(…args) → {Array}
- 说明:
- 这个函数用于将参数转换为数组 内部使用 用户一般不用
参数列表:
参数名称 |
参数类型 |
属性 |
备注 |
args |
any
|
<repeatable>
|
要转换为数组的参数 |
返回值:
返回转换后的数组
-
Type
-
Array
例子
var array = $toArray("产品1", "产品2", "产品3", "产品4"); //多参数
logjson(array,0); // 转换后的数组
//输出结果
["产品1","产品2","产品3","产品4"]
asArray(o) → {Array}
- 说明:
- 这个函数用于把无类型提示的数组包装为有提示的数组,方便代码书写
参数列表:
参数名称 |
参数类型 |
备注 |
o |
any
|
要转换为数组的对象 |
返回值:
返回转换后的数组
-
Type
-
Array
例子
var array = asArray([1,2,3,4,5]);
logjson(array); // 转换后的数组
//输出结果
[1,2,3,4,5]
asDate(d) → {Date}
- 说明:
- 这个函数用于将日期字符串js日期对象转换为日期对象,也可用于包装日期变量实现输入提示
参数列表:
参数名称 |
参数类型 |
备注 |
d |
any
|
要转换的日期字符串或者日期变量 |
返回值:
返回转换后的js日期对象
-
Type
-
Date
例子
var date = asDate("2023-9-21");
console.log(date.format()); // 转换后的日期对象
//输出结果
2023-09-21
asNumber(s) → {Number}
- 说明:
- 这个函数用于将字符串转换为数字对象,主要用于提供输入提示
参数列表:
参数名称 |
参数类型 |
备注 |
s |
string
|
要转换的字符串 |
返回值:
返回转换后的数字对象
-
Type
-
Number
例子
var number = asNumber(555);
console.log(number); // 转换后的数字对象
//输出结果
555
asRange(rng) → {Range}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
rng |
any
|
要转换的对象 |
返回值:
返回转换后的单元格对象
-
Type
-
Range
例子
//示例1
var range = asRange("b5");
console.log(range.Address()); // 转换后的单元格对象
//输出结果
$B$5
//示例2
var range = asRange(5,2); //第5行, 第2列
console.log(range.Address()); // 转换后的单元格对象
//输出结果
$B$5
asShape(shp) → {Shape}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
shp |
any
|
要转换的对象 |
返回值:
返回转换后的形状对象
-
Type
-
Shape
例子
var shape = asShape('矩形 2');
console.log(shape.Name); // 转换后的形状对象
//输出结果
Rectangle 2
asSheet(sht) → {Sheet}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
sht |
any
|
要转换的对象 |
返回值:
返回转换后的工作表对象
-
Type
-
Sheet
例子
var sheet = asSheet("1月");
console.log(sheet.Name); // 转换后的工作表对象
//输出结果
1月
asString(s) → {String}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
s |
any
|
要转换的对象 |
返回值:
返回转换后的字符串对象
-
Type
-
String
例子
var str = asString('测试');
console.log(str); // 转换后的字符串对象
//输出结果
测试
asWorkbook(wbk) → {Workbook}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
wbk |
any
|
要转换的对象 |
返回值:
返回转换后的工作簿对象
-
Type
-
Workbook
例子
var workbook = asWorkbook("测试排序");
console.log(workbook.Name); // 转换后的工作簿对象
//输出结果
测试排序.xlsm
cdate(v) → {Number}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
v |
any
|
日期字符串 js日期对象都可以 |
返回值:
返回转换后的日期数值
-
Type
-
Number
例子
var num = cdate('23-9-1');
console.log(num); // 转换后的日期数值
//输出结果
45170
cstr(v) → {String}
- 说明:
参数列表:
返回值:
返回转换后的字符串对象
-
Type
-
String
例子
var str = cstr(1537789);
console.log(str); // 转换后的字符串对象
//输出结果
1537789
isArray(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是数组,则返回true;否则返回false
-
Type
-
Boolean
例子
var isArr = isArray([1,2,3,4,5]);
console.log(isArr); // 是否为数组
//输出结果
true
isArray2D(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是二维数组,则返回true;否则返回false
-
Type
-
Boolean
例子
var is2DArray = isArray2D([[1],[2],[3]]);
console.log(is2DArray); // 是否为二维数组
//输出结果
true
isBoolean(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是布尔值,则返回true;否则返回false
-
Type
-
Boolean
例子
var isBool = isBoolean(false);
console.log(isBool); // 是否为布尔值
//输出结果
true
isCollection(obj) → {Boolean}
- 说明:
- 这个函数用于检查对象是否为(sheets range workbooks)集合对象
参数列表:
参数名称 |
参数类型 |
备注 |
obj |
any
|
要检查的对象 |
返回值:
如果对象可遍历的集合对象,则返回true;否则返回false
-
Type
-
Boolean
例子
var isColl = isCollection(Sheets);
console.log(isColl); // 是否为集合对象
//输出结果
true
isDate(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是日期对象,则返回true;否则返回false
-
Type
-
Boolean
例子
var isDateObject = isDate(new Date());
console.log(isDateObject); // 是否为日期对象
//输出结果
true
isEmpty(value) → {Boolean}
- 说明:
- 这个函数用于检查值是否为空值 undifined null 空字符串 均判定为空值
参数列表:
参数名称 |
参数类型 |
备注 |
value |
any
|
要检查的值 |
返回值:
如果值为空值,则返回true;否则返回false
-
Type
-
Boolean
例子
//示例1
var isEmptyValue = isEmpty(undefined);
console.log(isEmptyValue); // 是否为空值
//输出结果
true
//示例2
console.log(isEmpty(''));
//输出结果
true
//示例3
console.log(isEmpty(null));
//输出结果
true
isNumberic(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是数值类型,则返回true;否则返回false
-
Type
-
Boolean
例子
var n = isNumberic(557);
console.log(n); // 是否为数值类型
//输出结果
true
isRange(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是单元格对象,则返回true;否则返回false
-
Type
-
Boolean
例子
var isRng = isRange(Range("A1"));
console.log(isRng); // 是否为单元格对象
//输出结果
true
isRegex(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是正则表达式对象,则返回true;否则返回false
-
Type
-
Boolean
例子
var isRx = isRegex(/\d+/g);
console.log(isRx); // 是否为正则表达式对象
//输出结果
true
isSameClass(x, y) → {Boolean}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
x |
any
|
要比较的第一个对象 |
y |
any
|
要比较的第二个对象 |
返回值:
如果两个值属于同一类别,则返回true;否则返回false
-
Type
-
Boolean
例子
var isSame = isSameClass(560, 789);
console.log(isSame); // 是否属于同一类别
//输出结果
true
isSheet(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是工作表对象,则返回true;否则返回false
-
Type
-
Boolean
例子
var isSht = isSheet(Sheets(1));
console.log(isSht); // 是否为工作表对象
//输出结果
true
isString(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是字符串类型,则返回true;否则返回false
-
Type
-
Boolean
例子
var isstr = isString('产品5');
console.log(isstr); // 是否为字符串类型
//输出结果
true
isWorkbook(v) → {Boolean}
- 说明:
参数列表:
返回值:
如果值是工作簿对象,则返回true;否则返回false
-
Type
-
Boolean
例子
var iswbk = isWorkbook(ActiveWorkbook);
console.log(iswbk); // 是否为工作簿对象
//输出结果
true
log(…args) → {undefined}
- 说明:
- 别名:
-
参数列表:
参数名称 |
参数类型 |
属性 |
备注 |
args |
any
|
<repeatable>
|
要输出的日志信息 |
返回值:
无返回值
-
Type
-
undefined
例子
log('测试日期',0,888,'中文');
//输出结果
测试日期
0
888
中文
logjson(x, wrapopt) → {undefined}
- 说明:
- 别名:
-
参数列表:
参数名称 |
参数类型 |
属性 |
默认值 |
备注 |
x |
any
|
|
|
要输出的JSON对象 |
wrap |
boolean
|
<optional>
|
true
|
是否包装JSON对象(即是否要输出日期等信息) |
返回值:
无返回值
-
Type
-
undefined
例子
logjson([[1,2],[3,4],[5,6]],0);
//输出结果
[[1,2],[3,4],[5,6]]
typeName(x) → {String}
- 说明:
参数列表:
参数名称 |
参数类型 |
备注 |
x |
any
|
要获取类型名称的值 |
返回值:
返回值的类型名称
-
Type
-
String
例子
var t = typeName('产品5');
console.log(t); // 值的类型名称
//输出结果
[object String]
ubound(数组, 维数opt) → {Number}
- 说明:
- 这个函数用于获取数组的指定维度的上界 主要是方便vba习惯一下子改不过来的同学
参数列表:
参数名称 |
参数类型 |
属性 |
默认值 |
备注 |
数组 |
Array
|
|
|
要获取上界的数组 |
维数 |
number
|
<optional>
|
1
|
要获取上界的维度 |
返回值:
返回指定维度的上界
-
Type
-
Number
例子
var upperBound = ubound([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], 2);
console.log(upperBound); // 指定维度的上界
//输出结果
2
val(s) → {Number}
- 说明:
- 这个函数用于字符串及布尔值转为数值 基本与vba中的val保持一致
参数列表:
参数名称 |
参数类型 |
备注 |
s |
String
|
要转换的字符串 |
返回值:
返回数值对象
-
Type
-
Number
例子
var value = val('5');
console.log(value); // 转换后的值
//输出结果
5
round(number, decimals) → {number}
- 说明:
- 这个函数用于使用 Excel 计算规则对数字进行四舍五入
参数列表:
参数名称 |
参数类型 |
备注 |
number |
number
|
要进行四舍五入的数字 |
decimals |
number
|
保留的小数位数(可选,默认为2) |
返回值:
四舍五入后的结果
-
Type
-
number
例子
var v = $.text(round(5.786543224,3),"0.000"); //使用text精确数字解决浮点数问题
console.log(v); // 四舍五入保留三位小数点
//输出结果
5.787