2012-05-17 5 views
0

이것이 가능하지만 여기에 간다면 엑셀 매크로를 작성했고 VB에서이 매크로를 호출 할 것입니다. 다음은 동일한 내용입니다.리눅스 박스에서 자바를 사용하여 엑셀 매크로를 호출하십시오.

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 

나는 할 수 있습니다. 이제 자바를 사용하여이 VB 스크립트를 호출합니다. Runtime.getRuntime().exec("cmd /c start calling.vbs");

그래서이 Excel 매크로를 Linux 서버에서 실행할 수 있습니까? 나는 리눅스 박스에서 vbs 파일을 호출 할 수 없다는 것을 이해한다. 또한 엑셀을 열거 나 포맷하는 것이 가능하지 않을 수도있다. 아마 리눅스 머신에서 sh 파일을 사용하여 해결 방법이나 다른 방법으로 호출 할 수 있을까?

+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

그래서 내가 링크를 연결하면 이것이 가능하지 않습니다. 권리 ? 어쩌면 진주로 변경하면 도움이 될 수 있지만 매크로를 능가하는 것은 불가능합니다. – justin3250

+0

내 전문 기술에는 Linux가 포함되어 있지 않지만 그 링크의 모습은 다음과 같습니다 (일부 Linux 전문가가 동일한 것을 확인하기를 기다리고 싶습니까? –

답변

1

이론상 Excel 및 Visual Basic을 wine에 설치하고 매크로가 실행되는지 확인할 수 있습니다. 그런 다음 실행하려고 시도 할 수 있습니다 Runtime.getRuntime().exec("wine cmd /c start calling.vbs");

실제로는 발 의 매우 복잡한 방법 인 것 같습니다..

리눅스에서 을 안정적으로 실행하려면 Excel 및 Visual Basic에서 멀리 떨어져 기존 사무실 기술 대신 서버 기술을 사용하십시오.

관련 문제