ググると、以下のような投稿を発見。
http://www.oooforum.org/forum/viewtopic.phtml?t=58809
これの一番最後に答えが書いてあって、ようはJavaScriptのEvalを使って計算を行うマクロを作っておいて、それをOOo Basicから呼び出すというコード。まず、以下のようなJavaScriptの一行マクロをドキュメントのLibrary1のEvalCell.jsとして作成。
んで、そのあと以下のようなOOo Basicのコードで呼び出す、って感じ。
Function Eval(s as String) as Double
oDocScriptProvider = ThisComponent.getScriptProvider()
oScript = oDocScriptProvider.getScript("vnd.sun.star.script:Library1.EvalCell.js?language=JavaScript&location=document")
On Error Resume Next
Eval = oScript.Invoke(Array(s), Array(1), Array(dResult))
On Error Goto 0
End Function
1 件のコメント:
渡辺です。このEVAを使ってLibreoffice_CALCで関数を作成しましたが、起動後に関数を使った場合は正常に使えるのですが、一旦関数を記入し保存、終了して再度CALCを起動すると「BASICランタイムエラー」となり「ScriptProviderが見つかりません」となります。対処方法をご教示願います。
Ubuntu20.04 LibreOffice V.7.6 Calc BASIC or JAV
コメントを投稿