ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1992|回复: 8

JS for WPs的基础架构

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-11-17 10:23 | 显示全部楼层 |阅读模式
JS for WPs的基础架构 ,基本内容,WPS 支持vsto , 支持xml .的内容。   有些装的系统不是win 系统,不支持vba .可以用WPS 开发插件。适用性更强

wps的基础

wps的基础

wps加载项

wps加载项

wps架构.rar

417.26 KB, 下载次数: 107

wps图片

TA的精华主题

TA的得分主题

发表于 2022-2-28 22:46 | 显示全部楼层
这帖子是没写完吗?光有图片?

TA的精华主题

TA的得分主题

发表于 2022-3-21 10:08 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-3-22 18:33 | 显示全部楼层
结论放前面:JS宏远胜于VBA宏,建议对文档自动化有一定需求的同仁上手学习。

优点:

    JavaScript的语言表达能力比VBA强,而且WPS宏支持的JavaScript版本比较高。所以,有高级语法可以直接用。学好JavaScript,应用场景很多。WPS中的JS宏等于是对很多开发者附赠的友好开发选项(不必另学一门新语言)JavaScript的有些表达方式,实在很适合用来写一次即扔的宏,比如.sort().filter()...跟自带sql查询一样。

缺点:

    JavaScript天生的没有标准库,又由于历史原因,有些东西就很难受。比如每当遇到日期场景,首先是立刻给自己写个小型datetime类。往前兼容出现的功能缺失,比如VBA中的CDate函数。网上资料不够多,比如我不知道为何命名为Value2,为何直接读取时间列的Value2给我返回的是number,而不是短日期格式。(不知是否为它底层对待短日期是按照number来处理的)。我以我就硬读了toString(),然后转换成Date格式。没找到wps表格跟wps文字互通的方法。原来VBA用的是createobject……命名规则有点乱,比如used_range.Cells.Item(i+1,j+1) 大写并不一定表达属性,也有可能是方法。

BTW:与宏类似,还有个加载项(类似其他应用中的插件)的开发功能。一般宏只是应用于自动化,加载项用于功能增量。如果宏开发弄得跟加载项一样,那不如就按照加载项来开发。所以我看原来Office的MSDN就将宏定位在automation,而不是programming的范畴。
z转自  https://zhuanlan.zhihu.com/p/382726944

TA的精华主题

TA的得分主题

发表于 2022-3-25 23:37 | 显示全部楼层
gerogeedward 发表于 2022-3-22 18:33
结论放前面:JS宏远胜于VBA宏,建议对文档自动化有一定需求的同仁上手学习。

优点:

Range.Value()
Range.Value2
均可以获取单元格的值,区别:

Range.Value() 获取的结果为所见所得,通俗地说即你看到的是什么返回的结果就是什么。
Range.Value2 获取的结果是其原始的存储的值,正如你所说的日期问题,实际上日期时间类型的原始值都是数值,这点在所有编程语言中几乎都是一样的,我们所看到的短日期、长日期、中文日期、英文日期都是换算后的结果。

JavaScript 关于Date 对象本地化处理,如有必要可通过 ECMAScript 国际化 API  Intl 对象进一步转换。但估计不划算,因此针对单元格的数值、字符的转换最好直接调用单元格格式 API 进行处理,可以保证写入的内容与原始 WPS 支持的格式保持一致,方便日后再次转换。

TA的精华主题

TA的得分主题

发表于 2022-4-5 15:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gerogeedward 发表于 2022-3-22 18:33
结论放前面:JS宏远胜于VBA宏,建议对文档自动化有一定需求的同仁上手学习。

优点:

请问userform1中没有activate事件。遇到怎么处理?谢谢!

TA的精华主题

TA的得分主题

发表于 2022-6-7 19:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先学习其中一个

TA的精华主题

TA的得分主题

发表于 2022-8-8 22:15 | 显示全部楼层
877Aplan 发表于 2022-3-25 23:37
Range.Value()
Range.Value2
均可以获取单元格的值,区别:

这个解释得比较清楚啊,谢谢!

TA的精华主题

TA的得分主题

发表于 2022-8-8 22:19 | 显示全部楼层
gerogeedward 发表于 2022-3-22 18:33
结论放前面:JS宏远胜于VBA宏,建议对文档自动化有一定需求的同仁上手学习。

优点:

目前来说,JSA还不完善,不能访问网络,控件Name属性不能修改等问题还有待解决,但相信后面会越来越好,毕竟,VBA跨平台不行,而且太老了,JS才是未来。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 21:36 , Processed in 0.044343 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表