我不确定这是否可能,但在这里,我写了一个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

我能做dis。现在我使用java调用这个vb脚本Runtime.getRuntime().exec("cmd /c start calling.vbs");
那么在linux服务器上运行这个excel宏有可能吗?我知道我们不能在linux机器上调用vbs文件,而且打开和格式化excel可能是不可能的,因此在linux机器上是否有解决方法或其他方法调用它,可能使用sh文件?

最佳答案

理论上,您可以在wine中安装Excel和Visual Basic,并查看宏是否在其中运行。然后您可以尝试执行Runtime.getRuntime().exec("wine cmd /c start calling.vbs");
事实上,这听起来像是一种非常复杂的方式,把自己的脚射得很厉害。
如果希望它在Linux上可靠运行,请远离Excel和VisualBasic,开始使用服务器技术而不是旧的office技术。

08-27 20:02