如何将VBA代码重写为VBScript代码(工具/规则)
我无法使用如何将VBA代码重写为VBScript代码(工具/规则),vba,vbscript,Vba,Vbscript,我无法使用搜索功能在网站上找到此信息。我在中也看到了类似的将C#转换成Java和将VBA转换成C#的例子 我提出这个问题是因为我认为这至少是部分可以实现的,如果不是全部的话,这将是其他人进行转换的有用指南。网上发现的问题示例: 经过一些处理(代码更改)后可以全部转换为 如果不是,什么类型的VBA程序不能转换 如果是,是否有vba程序或任何工具自动执行此操作?如果没有,请提供从VBA到VBS转换规则的完整列表? (如果可能的话,我想写一个VBA程序来自动完成这个过程) 我只知道以下规则 (如果我错
搜索功能在网站上找到此信息。我在中也看到了类似的将C#转换成Java和将VBA转换成C#的例子
我提出这个问题是因为我认为这至少是部分可以实现的,如果不是全部的话,这将是其他人进行转换的有用指南。网上发现的问题示例:
经过一些处理(代码更改)后可以全部转换为
如果不是,什么类型的VBA程序不能转换
如果是,是否有vba程序或任何工具自动执行此操作?如果没有,请提供从VBA到VBS转换规则的完整列表?
(如果可能的话,我想写一个VBA程序来自动完成这个过程)
我只知道以下规则
(如果我错了,请纠正我)
- 删除声明语句的类型
VBA:将a变暗为字符串
VBS:调暗a
- VBS没有(命名常量)
VBA:Xlup
VBS:-4162
- 不能在VBS中使用
redim someArray(A到B)
语法(VBS总是以0索引开始)
VBA:重拨someArray(1到10)
VBS:redim someArray(10)
- 不能在VBS中的for循环中指定迭代器
VBA:
VBS:
始终需要VBS中的完整合格范围(只是一个演示。)
VBA:
range(“A1”)=“Testing”
VBS:
ExcelObj.工作簿(1).工作表(1).范围(“A1”)=“测试”
- VBS无法使用VBA集合类型(或者我是否使用了正确的CreateObject?)
p.S.Iam意识到和
如果有任何帮助,我将不胜感激,提前表示感谢,对于这个冗长的问题,我深表歉意
编辑:我自己正在编写一个脚本,当我完成后将进行更新。Larry,用户Tukai正在将大多数VBA代码转换为VBS。我相信他能给你一些好的建议。同时看看this@bonCodigo感谢阅读,我将采纳这个想法并添加到我的转换脚本中。事实上,我被Tukai检查过,正在检查是否有一个80%的转换器会更好。你的列表涵盖了我遇到的大多数转换错误。还应注意的是,由于VBS未编译,它不支持像VBA那样的早期绑定,因此必须使用后期绑定创建对象binding@Fink谢谢你的帮助,是的,这是一个很好的观点。这不是一个真正的问题,但在谷歌搜索了这个话题后,我发现自己在这里。
For i = 1 to 10
'do something
next i
For i = 1 to 10
'do something
next