LibreOffice Calc を使用すると、ユーザーは組み込みの StarBasic プログラミング言語を使用して独自の関数を作成できます。この言語は非常によく似ています VBA ただし、あまり使用されないため、機能は制限されています。
Python などの最新のプログラミング言語は、より多くの可能性を提供し、あらゆる状況に対応する幅広い追加ライブラリを備えています。
それでは、Python など、今日人気のプログラミング言語を使用して独自の関数を作成する方法を学びましょう。
まず、マクロと関数を作成するための標準の LibreOffice Calc ツールを使用して独自のプログラムを作成する方法を思い出してください。
以下は関数のコードです
独自の機能を追加するには、メニューを開きます
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
次に、Macro Editor を閉じ、LibreOffice Calc に戻り、任意のセルにこの関数の名前を入力し、入力パラメータを指定します。
Python に関数を記述する前に、まず *.py ファイルを作成する必要があります (
%APPDATA%\LibreOffice\4\user\scripts\python
フォルダの場合 スクリプト そして パイソン 欠落している場合は、手動で作成する必要があります。
以下は、関数の Python スクリプトです。
このスクリプトを追加するには、ファイルを開きます
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
次に、閉じます
LO Calc インターフェイスには Python 関数への直接接続がないため、この関数をすぐに実行することはできません。
この問題を解決するには、StarBasic に中間関数を作成する必要があります。
Function Greeting(sName As String) As String pyFile = "myPyScripts.py" pyFunc = "Greeting" pyParams = Array(sName) ScriptProvider = CreateUNOService("com.sun.star.script.provider.MasterScriptProviderFactory").createScriptProvider("") pyScript = ScriptProvider.getScript("vnd.sun.star.script:" & pyFile & "$" & pyFunc & "?language=Python&location=user") Greeting = pyScript.invoke(pyParams, Array(), Array()) End Function
この中間関数をStarBasicマクロエディタ(メニュー
ここで StarBasic 関数を呼び出します
既製セットもご利用いただけます 機能 そして ユーティリティ に書かれた
その後、この機能は LibreOffice Calc で開かれるすべてのファイルで利用できるようになります。