TOP

LibreOffice Calc에 대해 Python에 매크로를 작성합니다.

설명

LibreOffice Calc을 사용하면 사용자는 내장된 프로그래밍 언어 StarBasic을 사용하여 자신만의 매크로를 만들 수 있습니다. 이 언어는 다음과 매우 유사합니다. VBA 그러나 거의 사용되지 않으므로 기능이 제한됩니다.

Python과 같은 최신 프로그래밍 언어는 훨씬 더 많은 가능성을 제공하고 모든 경우에 대해 더 넓은 범위의 추가 라이브러리를 제공합니다.

그러면 Python과 같은 인기 있는 프로그래밍 언어를 사용해서 자신의 매크로를 만드는 방법을 알아보겠습니다.


오피스 제품군 LibreOffice을 사용하면 Python, JavaScript, C++, Java와 같은 타사 프로그래밍 언어로 사용자 고유의 매크로를 만들 수 있습니다.

StarBASIC HelloWorld 코드

먼저 매크로 작성을 위한 표준 도구 LibreOffice Calc를 사용하여 자신만의 프로그램을 작성하는 방법을 기억해 보겠습니다.

아래는 매크로 코드입니다 HelloWorld , 문구를 규정하는 "Hello World!" 세포에서 "B7" 내장 프로그래밍 언어 StarBasic을 사용합니다.

새 매크로를 추가하려면 메뉴를 여세요. Tools - Macros - Edit Macros... , Module1을 선택하고 다음 텍스트를 모듈에 복사합니다.

Sub HelloWorld
    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    
    'REM "doc" it's a current LO Calc workbook (active worksheet)
    doc = CreateScriptService("Calc")
    doc.SetValue("B7", "Hello World!")
End Sub

그런 다음 Macro Editor을 닫고 LibreOffice Calc로 돌아가 메뉴를 통해 새 매크로를 실행합니다. Tools - Macros - Run Macro...

Python 폴더

Python에 매크로를 작성하기 전에 먼저 *.py 파일을 만들어야 합니다(myPyScripts.py) 다음 폴더에 있습니다.

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

폴더라면 스크립트 그리고 파이썬 누락된 경우 수동으로 생성해야 합니다.

Python HelloPython용 코드

다음은 매크로에 대한 Python 스크립트입니다. HelloPython , 문구를 규정하는 "Hello Python!" 세포에서 "B8" LibreOffice Calc 프로그램에서.

새 매크로를 추가하려면 파일을 엽니다. myPyScripts.py ~을 통해 Notepad++ (또는 Windows Notepad) 거기에 다음 텍스트를 복사합니다.

from scriptforge import CreateScriptService

def HelloPython():
    doc = CreateScriptService("Calc")
    doc.SetValue("B8", "Hello Python!")
    return None

그런 다음 닫으세요. Notepad++ LibreOffice Calc로 돌아갑니다. 이 스크립트를 실행하려면 메뉴를 엽니다. Tools - Macros - Organise Macros - Python... , 선택하다 "My Macros" , 폴더를 엽니다 "myPyScripts" 그리고 선택 HelloPython 버튼을 누르세요 Run .

Python의 StarBasic에 지정된 매크로는 내장 라이브러리를 사용합니다. ScriptForge . 이 라이브러리는 최종 사용자를 위한 매크로 작성을 단순화하고 모든 시스템 기능을 "내부"에 숨깁니다.

확장 프로그램 사용

미리 만들어진 세트를 사용해도 됩니다 기능 그리고 공익사업 에 쓰여진 Python 확장 프로그램을 설치하여 YLC Utilities .

그 후에는 LibreOffice Calc에서 열리는 모든 파일에서 이 기능을 사용할 수 있습니다.