Эта страница описывает, как взаимодействовать с 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)
Есть идеи?