• ベストアンサー

JavaからOpenOfficeを実行したい

Centos5で、Javaのアプリケーションを動かしています。 この中に、OpenOfficeのCalcのマクロを起動させるようにしたいのですが、 Javaではどのように記述すればよいのでしょうか? よろしくご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#161640
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(); }

Horirin39
質問者

お礼

さっそくのご教授、ありがとうございます。 試してみます。

Horirin39
質問者

補足

試してみましたが、マクロは実行されないようです。 rt.exec("soffice.exe \"test.stc\" macro:///Standard.Module1.Main(\"\")"); "soffice.exeのexeは、Linuxなので、"soffice”というshellのようです。 \"test.stc\"はどのような意味のパラメータなのでしょうか? Runtime.execのマニュアルを読みましたが、よくわかりません。 お手数をおかけしますがよろしくご教授のほどお願い致します。

関連するQ&A