如何将.bas文件转换为vbscript/exe或从命令行运行?我用MS Visual Basic for Aplications在Excel中编写了脚本,但我只能在Excel下运行此脚本。如何使此脚本成为.vbs或.exe??
发布于 2012-12-10 22:06:59
我认为最简单的选择是使用.vbs扩展名保存.bas文件,并将代码修改为VBScript;然后在Windows Script Host (WSH)下运行它。请记住,在Excel下的VBA中,您可以访问许多内置对象;在WSH下的VBScript中,您必须使用CreateObject或GetObject函数自己创建或访问这些对象(请参见this answer)。(WSH有自己的一组内置对象。)对于Excel,您需要从以下内容开始:
Dim xlApp
Set xlApp = CreateObject("Excel.Application")请记住,在VBScript中,变量没有类型,因此所有语句,如:
Dim i As Integer
Dim wks As Excel.Worksheet需要删除As子句:
Dim i
Dim wks
有关两者之间差异的确切详细信息,请参阅INFO: Visual Basic for Applications Features Not in VBScript和INFO: VBScript Features Not in Visual Basic for Applications。
VBA有一个内置的IDE和调试器,这是在WSH下运行代码时所没有的,但您可以使用Visual Sudio来调试脚本文件。(如果你不能安装VS2015社区版,Visual Studio集成的shell也可以工作-- 2013,2012,2010。
通过从命令行调用脚本来调试脚本,如下所示:
cscript yourscript.vbs //D //X或者:
wscript yourscript.vbs //D //X如果您安装了Office2007或更早版本,则可以使用Microsoft脚本编辑器进行调试;不需要下载和安装VS。然而,VS比Microsoft脚本编辑器和VBA调试器都要强大得多。
发布于 2012-12-10 20:51:28
我担心简短的答案是,你不能,至少不能直接。虽然你可以将代码保存到.vbs文件中,但我非常怀疑它会不会在不将代码更改为VB脚本的情况下做任何事情。
要制作一个.exe,你需要一些类似Visual Studio的东西。即使这样,你也可能需要重新编写你的代码,让它完成它的工作。
我想这取决于你的代码做了什么。
发布于 2014-12-12 13:21:32
我认为这里每个人都提出了一些好的观点,但是有一件事我没有意识到这将是一个大问题,那就是在VBA和Visual Basic中,您可以使用On Error GoTo命令,并在函数的底部使用诸如MainErrorHandler:之类的内容来设置错误行。VB Script不允许这样做,您需要使用On Error VBA 0或On Error Resume next,这在GoTo和Visual Basic中都是允许的。但是,所有VB语言都允许VB Script中的错误处理。
https://stackoverflow.com/questions/13800794
复制相似问题