Global

命名空间

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}

说明:
  • 这个函数用于将值转换为字符串对象
参数列表:
参数名称 参数类型 备注
v any 要转换的值
返回值:
返回转换后的字符串对象
Type
String
例子
var str = cstr(1537789);
console.log(str); // 转换后的字符串对象
//输出结果
1537789

isArray(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为数组
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是数组,则返回true;否则返回false
Type
Boolean
例子
var isArr = isArray([1,2,3,4,5]);
console.log(isArr); // 是否为数组
//输出结果
true

isArray2D(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为二维数组
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是二维数组,则返回true;否则返回false
Type
Boolean
例子
var is2DArray = isArray2D([[1],[2],[3]]);
console.log(is2DArray); // 是否为二维数组
//输出结果
true

isBoolean(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为布尔值
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是布尔值,则返回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}

说明:
  • 这个函数用于检查值是否为日期对象
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是日期对象,则返回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}

说明:
  • 这个函数用于检查值是否为数值类型
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是数值类型,则返回true;否则返回false
Type
Boolean
例子
var n = isNumberic(557);
console.log(n); // 是否为数值类型
//输出结果
true

isRange(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为单元格对象
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是单元格对象,则返回true;否则返回false
Type
Boolean
例子
var isRng = isRange(Range("A1"));
console.log(isRng); // 是否为单元格对象
//输出结果
true

isRegex(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为正则表达式对象
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是正则表达式对象,则返回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}

说明:
  • 这个函数用于检查值是否为工作表对象
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是工作表对象,则返回true;否则返回false
Type
Boolean
例子
var isSht = isSheet(Sheets(1));
console.log(isSht); // 是否为工作表对象
//输出结果
true

isString(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为字符串类型
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是字符串类型,则返回true;否则返回false
Type
Boolean
例子
var isstr = isString('产品5');
console.log(isstr); // 是否为字符串类型
//输出结果
true

isWorkbook(v) → {Boolean}

说明:
  • 这个函数用于检查值是否为工作簿对象
参数列表:
参数名称 参数类型 备注
v any 要检查的值
返回值:
如果值是工作簿对象,则返回true;否则返回false
Type
Boolean
例子
var iswbk = isWorkbook(ActiveWorkbook);
console.log(iswbk); // 是否为工作簿对象
//输出结果
true

log(…args) → {undefined}

说明:
  • 这个函数用于输出日志信息
别名:
  • log
参数列表:
参数名称 参数类型 属性 备注
args any <repeatable>
要输出的日志信息
返回值:
无返回值
Type
undefined
例子
log('测试日期',0,888,'中文');
//输出结果
测试日期
0
888
中文

logjson(x, wrapopt) → {undefined}

说明:
  • 这个函数用于输出JSON格式的日志信息
别名:
  • logjson
参数列表:
参数名称 参数类型 属性 默认值 备注
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