TOP

LibreOffice Calc の Python 関数を作成します

説明

LibreOffice Calc を使用すると、ユーザーは組み込みの StarBasic プログラミング言語を使用して独自の関数を作成できます。この言語は非常によく似ています VBA ただし、あまり使用されないため、機能は制限されています。

Python などの最新のプログラミング言語は、より多くの可能性を提供し、あらゆる状況に対応する幅広い追加ライブラリを備えています。

それでは、Python など、今日人気のプログラミング言語を使用して独自の関数を作成する方法を学びましょう。


オフィス プログラムのパッケージ LibreOffice を使用すると、Python、JavaScript、C++、Java などのサードパーティ プログラミング言語で独自の関数を作成できます。

StarBASIC Greeting() 関数のコード

まず、マクロと関数を作成するための標準の LibreOffice Calc ツールを使用して独自のプログラムを作成する方法を思い出してください。

以下は関数のコードです Greeting 、フレーズを返します "Hello " + 入力パラメータ 組み込みプログラミング言語 StarBasic を使用して、選択したセルに入力します。

独自の機能を追加するには、メニューを開きます Tools - Macros - Edit Macros... で、Module1 を選択し、次のテキストをモジュールにコピーします。

Function Greeting(sName As String) As String
    Greeting = "Hello " & sName & "!"
End Function

次に、Macro Editor を閉じ、LibreOffice Calc に戻り、任意のセルにこの関数の名前を入力し、入力パラメータを指定します。

Python フォルダー

Python に関数を記述する前に、まず *.py ファイルを作成する必要があります (myPyScripts.py) 次のフォルダーにあります。

%APPDATA%\LibreOffice\4\user\scripts\python

フォルダの場合 スクリプト そして パイソン 欠落している場合は、手動で作成する必要があります。

Python Greeting() 関数のコード

以下は、関数の Python スクリプトです。 Greeting というフレーズを規定しています。 "Python say 'Hello' to " + 入力パラメータ プログラム LibreOffice Calc の選択したセルにあります。

このスクリプトを追加するには、ファイルを開きます myPyScripts.py によって Notepad++ (または Windows Notepad) を選択し、そこに次のテキストをコピーします。

def Greeting(sName):
    return "Python say 'Hello' to " + sName + "!"

次に、閉じます Notepad++ そして LibreOffice Calc に戻ります。

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マクロエディタ(メニュー Tools - Macros - Edit Macros... )。

ここで StarBasic 関数を呼び出します Greeting() 、次に関数の Python バージョンを呼び出します Greeting() 。入力するだけです Greeting() 任意のセルに入力し、パラメータとして任意の値を選択します。

拡張機能の使用

既製セットもご利用いただけます 機能 そして ユーティリティ に書かれた Python 拡張機能をインストールすることで YLC Utilities

その後、この機能は LibreOffice Calc で開かれるすべてのファイルで利用できるようになります。