|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
区别还是比较大的。本质上来说VBA和VBS是两种语言,不过语法相似。
VBA是“在应用程序中的VBA语言”,它涉及应用程序(例如EXCEL)的对象、方法属性,
WSH则是“一个应用程序,它带了VBS语言”——所以要比较的话,双方应该拿VBA和VBS相比,就是“VBS和WSH应用对象、方法、属性”
1.VBS不能定义数据类型
VBA象这种 DIM S AS STRING,I AS INTEGER
在VBS里全都是一种,无需声明 DIM S,I
它们的区别是,有类型的变量运行效率高,这个不解释了。不过在VBS里,它的主要目的(临时脚本之类)也不追求变量效率
2.界面
VBS是没有用户界面的。VBA的界面一般会有两套“内置的”,一个是APP应用程序的GUI——比如EXCEL的工作簿-工作表上显示,另一个则是VBA的MICROSOFT FORM引用。
仅作脚本管理的目睥,VBS拿来做CMD命令行输出、MSGBOX输出(MSGBOX "HELLO" 这种),如果需要更强大界面,需引用VBS以外的OBJECT
3.函数对象不同
象VBA里的format 函数,在VBS里就没有——连带WSH也没有。它们就是两套函数,只不过有相当一部分名字、用法相同
认真说起来,CREATEOBJECT也是有区别的,
比如在WSH里,WSH对象.createobject 方法 和VBS自身的 CREATEOBJECT函数 ,两者形式都不同,后者接近VBA的CREATEOBJECT函数,前者是WSH本身的CREATEOBJECT,可以连接对象事件
|
|