0

我不太确定这是否可能,但它就在这里,我写了一个 excel 宏,我通过 vbs 调用这个宏。这是相同的片段。

Dim objExcel, objWorkbook, ad, FilePath
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
For Each ad In objExcel.AddIns
    If ad.Name = "hello.xla" Then
        FilePath = ad.Path & "\hello.xla"
        Exit For
    End If
Next
objExcel.Workbooks.Open (FilePath)
Set objWorkbook = objExcel.Workbooks.Open(WScript.Arguments(0))
objExcel.Run "Test"
objWorkbook.Close
objExcel.Quit
Set objWorkbook = Nothing
Set objExcel = Nothing
WScript.Echo "Finished."
WScript.Quit

我能够做到这一点。现在我用java调用这个vb脚本Runtime.getRuntime().exec("cmd /c start calling.vbs");

那么可以在linux服务器上运行这个excel宏吗?我知道我们不能在 linux 机器上调用 vbs 文件,而且打开和格式化 excel 可能是不可能的,因此可能有一种解决方法或其他方式在 linux 机器中调用它,可能使用 sh 文件?

4

1 回答 1

2

理论上,您可以在其中安装 Excel 和 Visual Basic,wine然后查看您的宏是否在那里运行。然后你可以尝试执行Runtime.getRuntime().exec("wine cmd /c start calling.vbs");

实际上,这听起来像是一种非常复杂的方式,会让自己严重受伤。

如果您希望它在 Linux 上可靠运行,请远离 Excel 和 Visual Basic,并开始使用服务器技术而不是旧的办公技术。

于 2012-05-17T12:22:10.137 回答