JavaからExcelマクロを呼び出す

今日、現場でJavaからエクセルマクロを呼び出せるのか?
という質問があったので少し、調べた。
とりあえず、簡単にまとめる。

1.適当なところにExcelファイルを作成
例:C:\test\test.xls
2.作成したエクセルファイルを開く
3.Alt + Shift + F11 でVBA画面を開く
4.左上の中から「ThisWorkBook」を選択
5.以下のコードを書いて保存

Private Sub Workbook_Open()
    MsgBox "Hello, World!"
End Sub

6.作成したエクセルファイルを閉じる
7.javaから先ほど作成したエクセルを呼び出すサンプル

    public static void main( String[] args ) {

        try {
            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec( "cmd /C /MIN start C:\\test\\test.xls /e" );
            proc.waitFor();

        } catch (InterruptedException ev) {
            System.out.println( "失敗(InnterruptedException)" );
        } catch (IOException ev) {
            ev.printStackTrace();
            System.out.println( "失敗(IOException)" );
        }
    }

実行するとエクセルが立ち上がり、Hello, World!とダイアログが表示される。
ちょっと調べただけ + VBAをあまり触ったことないのでとりあえずこんな感じ。
結論で言うと、JavaからExcelマクロを呼び出すことはできる?
なんかファイル開いてるだけのようなきがする・・・。
あんまりしっくりきていないので
後日もうちょっと突っ込んで調べてみよう。
エクセルファイルを開かずにマクロ呼び出す方法とかあんのかな?