- ベストアンサー
JavaからOpenOfficeを実行したい
Centos5で、Javaのアプリケーションを動かしています。 この中に、OpenOfficeのCalcのマクロを起動させるようにしたいのですが、 Javaではどのように記述すればよいのでしょうか? よろしくご教授ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#161640
回答No.1
Javaから外部のプログラムを起動するには、Runtime#getRuntimeでRuntimeインスタンスを取得し、execを呼び出して行います。またOpenOfficeのマクロを外部から起動するのは、調べたところ、いくつか方法があるようです。もっとも簡単そうなのは、soffice.exe "test.stc" macro:///Standard.Module1.Main("")というような形でmacro:///マクロと指定をすると、OpenOffice起動時にそのマクロが実行されるようです。ですので、おそらく以下のような形で呼び出せば、OpenOfficeを起動して指定のマクロを実行させることは可能なように思えます。ただし検証していないので、動くかどうかはわかりません。 try { Runtime rt = Runtime.getRuntime(); rt.exec("soffice.exe \"test.stc\" macro:///Standard.Module1.Main(\"\")"); // マクロを指定 } catch (IOException ex) { ex.printStackTrace(); }
お礼
さっそくのご教授、ありがとうございます。 試してみます。
補足
試してみましたが、マクロは実行されないようです。 rt.exec("soffice.exe \"test.stc\" macro:///Standard.Module1.Main(\"\")"); "soffice.exeのexeは、Linuxなので、"soffice”というshellのようです。 \"test.stc\"はどのような意味のパラメータなのでしょうか? Runtime.execのマニュアルを読みましたが、よくわかりません。 お手数をおかけしますがよろしくご教授のほどお願い致します。