首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >excel:如何将.bas文件转换为vbscript/exe或从命令行运行?

excel:如何将.bas文件转换为vbscript/exe或从命令行运行?
EN

Stack Overflow用户
提问于 2012-12-10 20:17:04
回答 3查看 12.9K关注 0票数 2

如何将.bas文件转换为vbscript/exe或从命令行运行?我用MS Visual Basic for Aplications在Excel中编写了脚本,但我只能在Excel下运行此脚本。如何使此脚本成为.vbs或.exe??

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-10 22:06:59

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

代码语言:javascript
运行
复制
Dim xlApp
Set xlApp = CreateObject("Excel.Application")

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

代码语言:javascript
运行
复制
Dim i As Integer
Dim wks As Excel.Worksheet

需要删除As子句:

代码语言:javascript
运行
复制
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来调试脚本文件。(如果你不能安装VS2015社区版,Visual Studio集成的shell也可以工作-- 201320122010

通过从命令行调用脚本来调试脚本,如下所示:

代码语言:javascript
运行
复制
cscript yourscript.vbs //D //X

或者:

代码语言:javascript
运行
复制
wscript yourscript.vbs //D //X

如果您安装了Office2007或更早版本,则可以使用Microsoft脚本编辑器进行调试;不需要下载和安装VS。然而,VS比Microsoft脚本编辑器和VBA调试器都要强大得多。

票数 3
EN

Stack Overflow用户

发布于 2012-12-10 20:51:28

我担心简短的答案是,你不能,至少不能直接。虽然你可以将代码保存到.vbs文件中,但我非常怀疑它会不会在不将代码更改为VB脚本的情况下做任何事情。

要制作一个.exe,你需要一些类似Visual Studio的东西。即使这样,你也可能需要重新编写你的代码,让它完成它的工作。

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

票数 3
EN

Stack Overflow用户

发布于 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中的错误处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13800794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档