Calcを使用して「test.ods」から「呼び出されるドキュメント.ods」のFunctionを呼び出して結果を取得するのが目的。Version: LibreOffice 6.4.7.2
呼び出されるドキュメント.odsのFunctionは下記の通り。
Function Test(a, b) Print a b = "test3" Test = 1 End Function
test.odsから呼び出して結果を取得する。
Dim document As Object document = StarDesktop.loadComponentFromURL(ConvertToUrl("/home/user/Desktop/呼び出されるドキュメント.ods"), "_blank", 0, Array()) Dim scriptProvider As Object scriptProvider = document.getScriptProvider() Dim url As String url ="vnd.sun.star.script:Standard.Module1.Test?language=Basic&location=document" Dim script As Object script = scriptProvider.getScript(url) Dim args As Object args = array("test1", "test2") Dim argsAfterFinishing As Object argsAfterFinishing = array() 'test1と1が表示される Print script.invoke(args, 0, argsAfterFinishing) 'test2が表示される Print args(1) 'test3が表示される Print argsAfterFinishing(1)