网站首页 > 基础教程 正文
最近使用了一下wps的宏本地客户端功能进行了数据查询,与vba相比感觉还是比较好用的。(所谓本地客户端就是指单机使用运行的wps程序)
VBA因为长时间的发展,胜在功能比较强大,支持一些ActiveX对象和WindowsAPI的调用。但是缺点也很明显,一是安全性不够好,一些木马和病毒经常利用这个脚本强大的功能,二是兼容性不够好,换台电脑或者换个MSOffice版本,很可能就出错了。
WPS JS宏也叫JSA,去掉了VBA一些对象和windowsAPI调用功能。其他的方面,JSA官方开发文档的原文是:“WPS宏编辑器集成了一个V8 引擎的 JavaScript 运行时,支持大部分ES6语法,因此宏编辑器支持JavaScript 标准内置对象,注意,JS内置对象和浏览器的内置对象是不同的,WPS宏编辑器集成的是JavaScript 运行时,而不是浏览器,因此WPS宏编辑器不支持浏览器的内置对象。”,因此,JSA不必太过考虑兼容性,如果会一点js语法的话,上手会很快。
下面从零开始学习这个非常有用的工具,全程以表格的使用为例。
首先,打开wps,新建空白表格,进入【开发工具】菜单。如图1.1。
我们先定义一个自定义函数,测试一下:如图1.2
function testFunction(){
var t="hello world"
alert(t)
}
可以看到,这个IDE还是比较好用的,录入代码时有提示,并且键入(){}"" '' 等这些成对的英文符号时,只需按一个就行,另一个自动补全。光标自动的定位到中间。
使光标在函数体中间,点击运行按钮,弹出"hello world"的对话框。如图1.3
下面,把代码改成如下的样子,即在每行的语句结束处加上“;”这个英文分号,点击运行:
function testFunction(){
let t="hello world";
alert(t);
}
可以看到,能成功运行。
接下来,把代码改成一行的格式:function testFunction(){let t="hello world"; alert(t);}。可以成功运行。
把代码中的分号删除:function testFunction(){let t="hello world" alert(t) }。
弹出错误,如图1.4
说明JSA代码语句分割可以用英文分号,也可以与vba一样用换行分割。
接下来把代码改成如下样子:
var t="hello world"
function testFunction(){
alert(t)
}
运行后如图1.5,提示 “ 语法错误:函数外不能使用赋值表达式,变量初始化和函数调用。”
接下来把代码改成:
var t
function testFunction(){
t="hello world"
alert(t)
}
再改成:
let t //或者 const t
function testFunction(){
t="hello world"
alert(t)
}
都与图1.5的错误差不多:即JSA 不能在函数体外定义常量和变量
既然不能在函数体外定义常量和变量,那么只能曲线救国,结合表格在需要的时候使用函数定义常量和全局变量。
function 定义常量(){ return "返回常量"}
function 定义变量(){ return
Application.Worksheets.Item("Sheet1").Range("a1").Value2}
function 测试函数(){
let c = 定义常量()
alert(c)
let v =定义变量()
alert(v)
}
具体示例下回分解。
猜你喜欢
- 2025-05-02 深入探讨JavaScript混淆(js混淆还原工具)
- 2025-05-02 6个强大的的 javascript 工具库:时间处理/游戏引擎/CSS动画等
- 2025-05-02 音乐NFT软件项目的性能优化(音乐nft平台)
- 2025-05-02 Spring Boot + Vue.js 实现前后端分离(附源码)
- 2025-05-02 js常用方法(js常用的方法)
- 2025-05-02 前端打包与代码分割:提升应用性能的关键技术
- 2025-05-02 为什么 Netflix 部分功能放弃React,选择“原生”JavaScript?
- 2024-07-18 前端工程师进阶:Webpack的Bundle Split和Code Split区别和应用
- 2024-07-18 13条高效实用的JavaScript单行代码,关注收藏哦
- 2024-07-18 [总结]HTML+JS逆向混淆混合(js混淆反编译)
- 最近发表
-
- 碎片时间学Python-01安装Python(python详细安装教程3.8)
- Python安装(python安装教程)
- Python pip安装与使用步骤(python3.6 pip安装)
- 第二篇:如何安装Python并运行你的第一个程序
- Python入门教程:安装(python安装教程2020)
- 常用的Python库安装方法(Python实用教程)
- Python下载与安装教程(很详细)(python下载安装教程3.9.1)
- python安装教程(小白入门)(python安装详细步骤)
- 详解pip的基本使用和离线安装Python第三方库
- (一)从零开始安装Python(然后安装python)
- 标签列表
-
- 菜鸟教程 (58)
- jsp (69)
- c++教程 (58)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)