2012-05-17 69 views
0

我不太確定這是否可能,但在這裏,我寫了一個excel宏,我通過vbs調用這個宏。這是同樣的片段。在Linux上使用java調用Excel宏

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。現在我打電話給這個VB腳本使用java Runtime.getRuntime().exec("cmd /c start calling.vbs");

那麼有可能在linux服務器上運行這個excel宏嗎?我明白,我們不能在Linux機器上調用vbs文件,並且打開和格式化excel可能不可行,因此可能是使用sh文件在linux機器中調用它的解決方法或其他方法?

+0

看到這個http://stackoverflow.com/questions/864116/running-excel-macros-automatically-under-linux和這個http://user.services.openoffice.org/en/forum/viewtopic.php? f = 20&t = 15370 –

+0

所以我叮叮咚我從concance dese的鏈接是,這是不可能的。對 ?也許將它改爲珍珠可能會有所幫助,但可以在excel宏中調用是不可能的 – justin3250

+0

我的專業知識不包括Linux,但從這些鏈接看起來是這樣的:(也許你想等一些linux專家來確認一樣嗎? –

回答

1

理論上,您可以在wine中安裝Excel和Visual Basic,並查看您的宏是否在那裏運行。然後您可以嘗試執行Runtime.getRuntime().exec("wine cmd /c start calling.vbs");

實際上,這聽起來像是一種非常複雜的方式,用於將自己拍攝成腳嚴重

如果您希望它在Linux上可靠地運行,請遠離Excel和Visual Basic,並開始使用服務器技術而不是舊辦公技術。