WPS宏开发之VBA宏转JS宏

WPS VBA宏转JS宏

  • 前言
  • 1.语法转换规则
    • 1.1.常量表达
    • 1.2.运算符差异
    • 1.3.正则表达式
      • 1.3.1.For循环
      • 1.3.1.While循环
    • 1.4. 其他
      • 1.4.1.With方法
    • 1.5.函数调用规则
      • 1.5.1.VBA与JS括号书写规则
      • 1.5.2.入参规则
  • 2.WPS转换规则
    • 2.1.监听事件
  • 3.转换案例

前言

众所周知,WPS在2019版本后为了兼容国产化环境的宏开发功能,适配了一套JS宏,如果原先是VBA宏文件则需要适配运行。先出一版简易的转换文档吧,有不懂的或者没讲到的点小伙伴们可以在下方留言哦。

1.语法转换规则

基本技能:了解VBA与JS的语法

1.1.常量表达

布尔型 转换JS时,区分大小写
VBA True/False WPS宏开发之VBA宏转JS宏_第1张图片
Js true/false WPS宏开发之VBA宏转JS宏_第2张图片

更多资料查阅相关文档

1.2.运算符差异

运算符 VBA JS
连接符 & +
判断符 = ==
赋值符号 = =

更多资料查阅相关文档

1.3.正则表达式

1.3.1.For循环

For循环
VBA WPS宏开发之VBA宏转JS宏_第3张图片
JS WPS宏开发之VBA宏转JS宏_第4张图片

1.3.1.While循环

While循环
VBA WPS宏开发之VBA宏转JS宏_第5张图片
JS WPS宏开发之VBA宏转JS宏_第6张图片

更多资料查阅相关文档

1.4. 其他

1.4.1.With方法

JS 与VBA不一致,需要写全对象,参考如下

宏语言
VBA 在这里插入图片描述
JS 在这里插入图片描述

1.5.函数调用规则

1.5.1.VBA与JS括号书写规则

- VBA中,如果要获取函数的返回值才用括号括起来

代码示例 说明
set shape = shapes.Item(1) ’这里Item为函数,获取返回值赋给shape
Debug.Print “Hello” ’这里Print为函数,无需获取返回值

- JS 中,所有函数要用括号进行调用。

代码示例 说明
shape = shapes.Item(1) ’这里Item为函数,获取返回值赋给shape
Debug.Print(“Hello”) ’这里Print为函数,无需获取返回值

1.5.2.入参规则

VBA 直接传参和指定参数传参

方式
直接传参 直接在函数后按顺序依次填入对应参数,如: 在这里插入图片描述
指定传参 传参格式: 参数名:=参数值,如: 在这里插入图片描述

JS 直接传参和指定参数传参

方式
直接传参 直接在函数后按顺序依次填入对应参数,如:在这里插入图片描述
指定传参 以Json的格式传入对应参数,如:在这里插入图片描述

2.WPS转换规则

2.1.监听事件

定义有细微区别,建议在JS宏编辑器中重新定义监听事件,如下图:
WPS宏开发之VBA宏转JS宏_第7张图片
注意:在ET(表格)中VBA可以对不同的Sheet进行不同的监听
WPS宏开发之VBA宏转JS宏_第8张图片
JS需要进行区分表格来实现同样效果
WPS宏开发之VBA宏转JS宏_第9张图片

3.转换案例

[金山文档] VBA转JS例:合并表格.zip https://kdocs.cn/l/skctrwE0fKto

转换说明:
Event: 监听事件
Button 按钮事件
WPS宏开发之VBA宏转JS宏_第10张图片

你可能感兴趣的:(WPS二次开发与集成,javascript,前端,开发语言,wps)