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