是否可以在 UNIX 环境中运行 VBScript?

Posted

技术标签:

【中文标题】是否可以在 UNIX 环境中运行 VBScript?【英文标题】:Is it possible to run a VBScript in UNIX environment? 【发布时间】:2013-12-18 14:36:26 【问题描述】:

我有一个用于将 excel 工作表合并到单个工作簿中的 Vbscript。我想知道我们是否可以在 unix 系统中执行 vbscript (.vbs) 文件。如果是,请帮助我处理程序。提前致谢。

【问题讨论】:

即使可以,也无法运行 Excel。 【参考方案1】:

使用wine start /path/to/your/script/script.vbs

【讨论】:

【参考方案2】:

您可以在您的 Windows 机器上安装 vbsedit,使用它来创建并从 vbscript 执行。然后您可以使用 Wine/PlayonLinux 运行可执行代码。

【讨论】:

【参考方案3】:

不确定 Unices,但在 GNU/Linux 上 可以使用 Wine 运行 VBScript,但 VBScript 支持有限 .

在 Debian/Ubuntu 上,您可以按如下方式安装:

$ sudo apt-get install wine 
...
$ 

从命令行运行

$ wine cscript some-script.vbs

$ wine wscript some-script.vbs

例如,我可以使用来自 Ubuntu Wine PPA 的 Wine 1.7.19 运行以下脚本:

' test.vbs

'WScript.Echo "Echo test"  ' doesn't work

'MsgBox "Message box!"     ' look like doesn't work either

' Write to file - works
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("out.txt", True)
objFile.Write "Output to file test" & vbCrLf
objFile.Close

运行:

$ wine cscript test.vbs
fixme:vbscript:VBScript_SetScriptState unimplemented SCRIPTSTATE_INITIALIZED
fixme:scrrun:textstream_Close (0x13e208): stub
$ cat out.txt
Output to file test
$

【讨论】:

【参考方案4】:

您的问题的简单答案是是的,我们可以在 UNIX 上运行 VBScript。但是您将无法在其上运行 excel。尽管即使您使用 WINE 让 Excel 运行,我也不知道它如何将 Excel 中的 COM 对象链接到 VBScript。

一种可能的替代方法是在 *NIX 框上安装 OpenOffice,然后配置 OpenOffice 以保存和创建 Excel 文档(但我对此不太确定)

【讨论】:

COM 对象在 Excel 中,而不是在 VBScript 中,我想看看您如何在 Unix 中运行 VBScript。 @AnsgarWiechers:- 刚刚更新了我的答案!有一个错字,是的,使用 WINE 可以使用它。虽然我同意不能直接在 UNIX 上运行它。(如果我遗漏了什么,请纠正我)

以上是关于是否可以在 UNIX 环境中运行 VBScript?的主要内容,如果未能解决你的问题,请参考以下文章

如何在带有命令行参数的 vbscript 中调用函数?

是否可以将 .ico 文件存储在 vbscript 中?

是否可以在vbscript中使用串行端口

如何在UNIX环境中运行MySQL多实例?!

vbscript 检查是不是安装了 Matlab 运行时编译器

是否可以在批处理文件中嵌入和执行VBScript而不使用临时文件?