WPS JS宏——IF语句

2022-12-01 11:35:13 浏览数 (1)

代码语言:javascript复制
操作系统:Linux version 4.4.131.D001.64.190906 (YHKYLIN-OS@Kylin)
WPS版本:WPS Office 2019 WPS表格(11.8.2.10533)

习惯了VBA的语法,写JS还是挺不习惯的,照着官方文档写个简单的计算面积的函数都不容易!

  • 在VBA里有Sub和function2种形式,在JS里只有function这一种;
  • 在VBA里一般都是建议明确声明变量的类型,JS里是不需要的;
  • 在VBA里函数返回值是以函数名=xx的形式,JS里使用return;
  • 在VBA里,如果参数是可选的,是使用Optional修饰,JS里不需要特别标注;
  • 在VBA里可选参数判断是否传递了使用IsMissing来判断,JS是使用== undefined;
  • 在VBA里使用单元格对象有Range和Cells,但是国产系统的WPS JS上,Cells提示TypeError:Cells is not a function;
  • 在VBA里单元格的值一般使用Value属性,JS里使用的是Value2。
代码语言:javascript复制
function mj(l,k){
 if (l <= 0 || k <= 0)
  return "长或宽不能小于或等于0"
 else if (l == undefined) 
  return "请至少输入1个数字"
 else if (k == undefined) 
  return l*l
 else
  return l*k
}

function testIf() {
 Debug.Print(mj(111,2))
 Range("A1").Formula = mj(123,542)
 Range("A2").Value2 = mj(123)
 Range("A3").Formula = mj(-123)
 Range("A4").Value2 = mj(123,0)
 Range("A5").Formula = mj()
 // Cells(6,1).Value2 = mj(123,0) // TypeError:Cells is not a function
}

If语句除语法上有不小的差别,用法和VBA差不多,关键字也是一样的。

需要注意是的是条件语句需要在括号里,如果条件语句后的语句有多条的情况,需要用大括号包含起来。

vba

0 人点赞