2012-12-10 148 views

回答

3

我认为最简单的选择是将.bas文件保存为.vbs扩展名并将您的代码修改为VBScript;然后在Windows Script Host(WSH)下运行它。请记住,在Excel下的VBA中,您可以访问许多内置对象;在WSH下的WSH中,您必须使用CreateObjectGetObject函数自己创建或访问这些对象(请参阅this answer)。 (WSH有自己的一套内置对象)。在Excel的情况下,你需要开始:

​​

请记住,在VBScript,变量没有类型,因此所有语句如:

Dim i As Integer 
Dim wks As Excel.Worksheet 

需要有As条款中删除:

Dim i 
Dim wks 


有关两者之间的差异具体细节,见 INFO: Visual Basic for Applications Features Not in VBScriptINFO: VBScript Features Not in Visual Basic for Applications
VBA有一个内置的IDE和调试器,在WSH下运行代码时您不具备此功能,但可以使用Visual Sudio调试脚本文件。

cscript yourscript.vbs //D //X 
:通过从命令行调用它们 201320122010

调试脚本如下 - (倘无法安装VS 2015年社区版,Visual Studio集成壳也行。

或:

wscript yourscript.vbs //D //X 

如果您有Office 2007或更早版本,您可以使用Microsoft脚本编辑器进行调试;有没有需要下载和安装尽管如此VS.,VS是远比Microsoft Script Editor和VBA调试器更强大。

3

恐怕简短的回答是,你不能,至少不是直接。 VBA和VBS是轻微的变体,虽然你可以将代码保存到一个.vbs文件中,但我非常怀疑它会做任何事情,而不会将其更改为VB脚本。

要制作一个.exe,你需要类似Visual Studio的东西。即使那样,你可能需要重新修改你的代码,使它成为工作。

我想这取决于你的代码做什么。

0

我认为每个人都在这里提出了很好的观点,但有一件事我没有看到这将是一个大问题,在VBA和Visual Basic中,您可以使用On Error GoTo命令并使用诸如MainErrorHandler:在函数的底部。 VB脚本不允许这样做,并且您需要使用On Error GoTo 0或On Error Resume接下来哪些在VBA和Visual Basic中都是允许的。但VB脚本中的错误处理在所有VB语言中都是允许的。

相关问题