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에서 열리는 모든 파일에서 이 기능을 사용할 수 있습니다.