TOP

ODS 파일에 Python 스크립트를 내장하는 방법

설명

LibreOffice Calc는 사용자에게 Python 언어로 자신만의 매크로를 생성할 기회를 제공하지만, 해당 매크로는 사용자 PC, 즉 프로그램 자체에만 저장될 수 있습니다. 안타깝게도 LO Calc에는 Python 스크립트를 *.ods 파일 자체에 저장하는 내장 기능이 없어, 다른 사용자에게 데이터와 함께 전달할 수 없으므로 이러한 스크립트 작업에 불편함이 따릅니다.

이 문제는 수동으로만 해결할 수 있습니다. 즉, 필요한 Python 스크립트를 추가하여 *.ods 파일을 다시 패키징해야 합니다.

자, Python 스크립트를 ODS 파일에 내장하여 다른 사용자에게 전송할 수 있는 방법을 알아보겠습니다.


Python Folder

모든 Python 매크로는 다음 폴더에 저장됩니다:

%APPDATA%\LibreOffice\4\user\Scripts\python

만약 Scriptspython 폴더가 없다면, 수동으로 생성해야 합니다.

Python 매크로 코드

아래에 매크로 HelloPython을 위한 Python 스크립트가 제시되어 있습니다. 이 스크립트는 LibreOffice Calc 프로그램에서 "B8" 셀에 "Hello Python!" 문구를 기록합니다.

새 매크로를 추가하려면 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 스크립트를 ODS 파일로 옮기기

Python 스크립트를 *.ods 파일로 옮기려면 어떤 압축 프로그램(7-zip, WinRAR 등)이든 사용하여 별도의 폴더에 압축을 해제해야 합니다. 네, 맞습니다. 당신의 *.ods 파일은 단순히 폴더와 파일들의 압축 파일입니다.

다음으로 이 압축 해제된 폴더 안에 하위 폴더 Scripts를 생성하고, 그 안에 하위 폴더 python을 생성하세요. 다음 단계로, python 폴더에 myPyScripts.py 파일을 복사하세요.

또한 Python 매크로가 있는 파일 경로를 명시적으로 지정해야 합니다. 이를 위해 META-INF 폴더에서 다음 줄을 추가하여 manifest.xml 파일을 편집하세요:

<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>

이제 이전에 압축 해제했던 폴더의 내용을 당신의 변경 사항을 포함하여 *.zip 아카이브로 압축하세요. 다음으로, 원본 파일을 덮어쓰지 않도록 이 아카이브의 이름을 변경하고 확장자를 *.zip에서 *.ods로 변경하세요.

확장 기능 사용

당신은 또한 Python으로 작성된 함수유틸리티의 준비된 세트를 YLC Utilities 확장 기능을 설치하여 사용할 수 있습니다.

이후에는 LibreOffice Calc에서 열릴 모든 파일에서 이 기능이 사용 가능할 것입니다.

LO Calc의 YLC Utilities 메뉴

LO Calc의 YLC Utilities 메뉴

Excel의 YLC Utilities 메뉴

Excel의 YLC Utilities 메뉴