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

标签 excel vbscript wsh vba

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

最佳答案

我认为最简单的选择是保存带有 .vbs 扩展名的 .bas 文件并将代码修改为 VBScript;然后在 Windows 脚本宿主 (WSH) 下运行它。请记住,在 Excel 下的 VBA 中,您可以访问许多内置对象;在 WSH 下的 VBScript 中,您必须使用 CreateObjectGetObject 函数自行创建或访问这些对象(请参阅 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 VBScriptINFO: VBScript Features Not in Visual Basic for Applications 。 <小时/> VBA 有一个内置的 IDE 和调试器,在 WSH 下运行代码时没有这些,但您可以使用 Visual Sudio 来调试脚本文件。 (如果您无法安装 VS 2015 Community Edition,Visual Studio 集成 shell 也可以工作 - 201320122010

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

cscript yourscript.vbs //D //X

或者:

wscript yourscript.vbs //D //X

如果您安装了Office 2007或更早版本,则可以使用Microsoft脚本编辑器进行调试;无需下载安装VS。尽管如此,VS 比 Microsoft 脚本编辑器和 VBA 调试器都强大得多。

关于excel:如何将 .bas 文件转换为 vbscript/exe 或从命令行运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13800794/

相关文章:

vba - 在 Excel 中运行 SAS 存储过程两次运行后失败

performance - 导入与链接到 Excel 电子表格

vbscript - Internet Explorer 获取内部 IP 地址

javascript - Windows Scripting Host 弹出窗口 - 在其他窗口之上

vbscript - 使用 CopyHere 写入文件而不使用 WScript.Sleep

excel - 有没有办法用公式做到这一点?

excel - VB.Net:在 Excel 单元格中插入数据验证

vbscript - 有没有办法在 vb 脚本中为函数创建可选参数?

encoding - 在Vbscript中将UTF-8文件转换为UTF-16 BE文件

javascript - WSH 5.7 的 shell.Run 执行错误的脚本主机引擎?