近期,VBA与JS宏之争上了个热门。不少网友都期望JS宏能替代VBA,争先恐后地偿了个鲜。我也不例外试了JS宏给办公自动化带来的便捷。JS宏使用javascript作为使用语言,其简单易懂易学,且作为前瑞广泛使用的语言,拥有大量的用户基础,只要WPS官方能不断地开发新功能,完善基本使用的要求,很快就能与VBA一样拥有不少用户群体。且VBA使用的VB一种古老的语言,相对于javascript具有先天的不足,从使用群体来说,就差了不是一个等次。就目前来说,JS宏其基本功能与VBA不是在一个等量级上。那么对于一个熟悉javascript,但不是很熟悉VBA语言的人来说是不是可以使用VBA与JS宏来结合使用呢?
这么说来测试一个就知道了。
测试工具:当然是WPS了,因为只有WPS才能同时支持VBA与JS宏。office是无法支持JS宏的。
1、来写一段vba代码,主要执行自动编号功能。
将编辑器切换到VB编辑器:
'自动编号
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target.Value <> "" Then
Range("a" & Target.Row).Value = Target.Row - 1
Else
Range("a" & Target.Row).Value = ""
End If
End If
End Sub
代码解释:当前工作表的值在B例发生改变时,A列的编号按行号减1。
2、写一段JS宏代码,将B列的内容清空。
关闭VB编辑器,将编辑器切换到JS宏编辑器。
function Clear(){
Range("B2:B999").Clear()
}
代码解释:将B列2行至B列999行单元格内容清空
运行试试:
结果成功运行了,但出现错误了,是不是证明不能同时运行两个不同的宏呢?相反,证明了两宏在同时运行了,因为单元格内容改变区域是不能使用复制及同时清空但多个单元格内容,否则就运行出错。
至于实际开发中,不建议两个宏同时使用,因为代码维护方面不方便。如果开发大型项目还是建议使用VBA,目前JS宏还在完善的阶段,官方也没有公布发展计划。所以,我还是但心官方对这方面并不是太重视,发展缓慢。作为数据处理来说,还是不错的一个工具。如果个人使用还是可以考虑使用的,作为试验对比研究还是可行。
下方说说你的看法。