ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

Javascript和vba真的差别好大

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-8-6 19:02 | 显示全部楼层 |阅读模式
这种语言和vba还是真的差别很大
WPS JS认为Excel对象也是他的内置对象
他的内置对象就可以随意增添方法或者属性

下面代码给单元格对象增加了一个aaa属性
成功运行

function xx(){
        var rng = new Range("B1");
        rng.Formula=9871;
        Console.log(`${rng.Formula}`)
        rng.aaa=123;
        Console.log(`${rng.aaa}`)
        alert(rng.aaa);
}

本人不太明白,只是胡乱测试
还有这种箭头函数
function text1()
{
        (A=>{
                A.HPageBreaks.Add(Range("F7"));
                A.VPageBreaks.Add(Range("F7"));
        })
        (ActiveSheet);
}
去掉箭头函数应该是这样
function text2(){
        (function(A){
                A.HPageBreaks.Add(Range("F7"));
                A.VPageBreaks.Add(Range("F7"));
        })
        (ActiveSheet);
}
还有当中小括号的问题能猜到它是什么意思吗
我们平常vba的理解思路是这样写
function text3(){
        ActiveSheet.HPageBreaks.Add(Range("F7"));
        ActiveSheet.VPageBreaks.Add(Range("F7"));
}

TA的精华主题

TA的得分主题

发表于 2021-8-7 15:11 | 显示全部楼层
这只是复合写法,实际使用中并不提倡,定义函数就定义函数,调用就调用,复合到一起,看得眼睛疼,语义也不好分析

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-7 15:33 | 显示全部楼层
wrove 发表于 2021-8-7 15:11
这只是复合写法,实际使用中并不提倡,定义函数就定义函数,调用就调用,复合到一起,看得眼睛疼,语义也不 ...

是的
另外问一句,WPS JS宏,怎么实现 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"),我感觉目前还不支持是吗?

TA的精华主题

TA的得分主题

发表于 2021-8-7 16:39 | 显示全部楼层
本帖最后由 wrove 于 2021-8-7 16:40 编辑
HHAAMM 发表于 2021-8-7 15:33
是的
另外问一句,WPS JS宏,怎么实现 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"),我感觉目前 ...

不知道,我连 VBE (WPS 中可能叫 JSE)都不知道该从哪儿获取,想控制一下打开时的窗口大小与位置,都做不到!你说的这种外部 COM 对象,不知道怎么引用

TA的精华主题

TA的得分主题

发表于 2021-8-7 16:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-9-5 22:26 | 显示全部楼层
10多年了,你还在搞Excel啊?
JSP不好封装吧?感觉就是为了跨平台、替换VBA的。开发插件还是应该VB/C#方便

TA的精华主题

TA的得分主题

发表于 2021-10-22 09:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-11-22 12:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
之前接触过一点js,如果没记错的话:
命名函数 function fn(){}
匿名函数 function (){}
匿名函数也可以简写成()=>{}
立即执行函数 (function (){})();
也可以简写成(()=>{})();

TA的精华主题

TA的得分主题

发表于 2021-11-26 15:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
其实JS加载项还是很好玩的,边做表边听歌、看电影、玩游戏,可以全集成在WPS界面中,你敢信……全新的摸鱼神器,加群:695601089

TA的精华主题

TA的得分主题

发表于 2021-11-26 16:56 | 显示全部楼层
HHAAMM 发表于 2021-8-7 15:33
是的
另外问一句,WPS JS宏,怎么实现 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"),我感觉目前 ...

目前不支持。我问过官方了,JS宏目前还不支持进程间的通信。在表格中都没有办法创建一个WORD对象,哈哈
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-4 00:54 , Processed in 0.058630 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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