我试图使用LS2J从LotusScript调用ODF (https://incubator.apache.org/odftoolkit/simple/index.html)的简单API,但我无法正确地使用它。
我在一个名为ODFDOM的Java库中包含了以下内容:
在代理的子初始化中使用此代码:
Dim js As javasession
Dim jc As Javaclass
Dim jerr As JAVAERROR
Dim jms As JavaMethodCollection
Dim jobj As Javaobject, jdoc As JavaObject
Dim jm As JAVAMETHOD
Set js = New JavaSession
Set jc = js.Getclass("org/odftoolkit/simple/SpreadsheetDocument")
Set jm = jc.GetMethod("newSpreadsheetDocument", "()Lorg/odftoolkit/simple/SpreadsheetDocument;")
Set jdoc = jm.Invoke执行会产生错误:
JS2J错误:引发java.lang.NullPointerException
我做错什么了有什么线索吗?
发布于 2014-01-14 09:18:46
您必须“使用”您的库"ODFDOM“,并使用带点的Java符号获取类。您可以通过直接调用静态方法来缩短代码:
Use "ODFDOM"
Dim js As javasession
Dim jSpreadsheetDocumentClass As Javaclass
Dim jdoc As JavaObject
Set js = New JavaSession
Set jSpreadsheetDocumentClass = js.Getclass("org.odftoolkit.simple.SpreadsheetDocument")
Set jdoc = jSpreadsheetDocumentClass.newSpreadsheetDocument()更新:
LS2J不适用于资源。无论何时使用Java代码中的资源,它都不能使用LS2J。在简短地查看了ODF源代码之后,我看到了使用的资源。
所以,创建一个Java代理,然后从LotusScript调用它。
https://stackoverflow.com/questions/21100358
复制相似问题