Java - преобразование соединения C # OneNote в Java Jacob - PullRequest
0 голосов
/ 12 ноября 2018

Эта страница описывает, как взаимодействовать с Microsoft OneNote: https://docs.microsoft.com/en-us/office/client-developer/onenote/application-interface-onenote

Я хотел бы конвертировать C# Code Example в Java с JACOB:

static void GetEntireHierarchy()
    {
        String strXML;
        OneNote.Application onApplication = new OneNote.Application();
        onApplication.GetHierarchy(null, 
            OneNote.HierarchyScope.hsPages, out strXML);
        Clipboard.SetText(strXML);
        MessageBox.Show("The XML has been copied to the clipboard");
    }

Я не уверен, как строка, переданная по ссылке, может быть реализована в Java?

Это мой текущий подход:

String[] myArray = new String[] {""}
ActiveXComponent oneNote = new ActiveXComponent("OneNote.Application")
Dispatch dispatch = Dispatch.call(oneNote, "GetHierarchy", new Object[] {null, "OneNote.HierarchyScope.hsPages", myArray}).toDispatch()

Но я получаю это исключение:

Caused by: com.jacob.com.ComFailException: Can't map name to dispid:
GetHierarchy    at com.jacob.com.Dispatch.invokev(Native Method)    at
com.jacob.com.Dispatch.invokev(Dispatch.java:625)   at
com.jacob.com.Dispatch.callN(Dispatch.java:453)     at
com.jacob.com.Dispatch.call(Dispatch.java:541)

Есть идеи?

...