2

次を使用してスライドショーが開始または終了するたびに、JACOBを使用してコールバックを取得しようとしています:

public class Test {

    public static void main(String[] args) {
        ActiveXComponent oApp = new ActiveXComponent("PowerPoint.Application");
        Dispatch presentations = oApp.getProperty("Presentations").toDispatch();
        Dispatch presentation = Dispatch.call(presentations, "Open", "C:\\Users\\Bob\\Documents\\test.ppt").toDispatch();
        new DispatchEvents(oApp, new Handler());
    }

}

public class Handler {
    public void SlideShowBegin(Variant[] args) {
        System.out.println("here");
    }
}

ただし、私は少し動けなくなっています。上記の結果は次のとおりです。

GetEventIID: couldn't get IProvideClassInfo
Exception in thread "main" com.jacob.com.ComFailException: Can't find event iid
at com.jacob.com.DispatchEvents.init3(Native Method)
at com.jacob.com.DispatchEvents.<init>(DispatchEvents.java:138)
at com.jacob.com.DispatchEvents.<init>(DispatchEvents.java:99)
at com.jacob.com.DispatchEvents.<init>(DispatchEvents.java:72)
at tester.Test.main(Test.java:28)

誰にもアイデアはありますか?検索はかなり短くなりました。の 4 つの引数コンストラクターを使用してDispatchEvents、最後の 2 つの引数として "Powerpoint.Application" と powerpoint exe へのフル パスを指定してみましたが、違いはありません。

4

0 に答える 0