LibreOffice Calc는 사용자에게 Python 언어로 자신만의 매크로를 생성할 기회를 제공하지만, 해당 매크로는 사용자 PC, 즉 프로그램 자체에만 저장될 수 있습니다. 안타깝게도 LO Calc에는 Python 스크립트를 *.ods 파일 자체에 저장하는 내장 기능이 없어, 다른 사용자에게 데이터와 함께 전달할 수 없으므로 이러한 스크립트 작업에 불편함이 따릅니다.
이 문제는 수동으로만 해결할 수 있습니다. 즉, 필요한 Python 스크립트를 추가하여 *.ods 파일을 다시 패키징해야 합니다.
자, Python 스크립트를 ODS 파일에 내장하여 다른 사용자에게 전송할 수 있는 방법을 알아보겠습니다.
모든 Python 매크로는 다음 폴더에 저장됩니다:
%APPDATA%\LibreOffice\4\user\Scripts\python
만약 Scripts 와 python 폴더가 없다면, 수동으로 생성해야 합니다.
아래에 매크로
새 매크로를 추가하려면
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
그런 다음
Python 스크립트를 *.ods 파일로 옮기려면 어떤 압축 프로그램(7-zip, WinRAR 등)이든 사용하여 별도의 폴더에 압축을 해제해야 합니다. 네, 맞습니다. 당신의 *.ods 파일은 단순히 폴더와 파일들의 압축 파일입니다.
다음으로 이 압축 해제된 폴더 안에 하위 폴더 Scripts를 생성하고, 그 안에 하위 폴더 python을 생성하세요. 다음 단계로, python 폴더에
또한 Python 매크로가 있는 파일 경로를 명시적으로 지정해야 합니다. 이를 위해 META-INF 폴더에서 다음 줄을 추가하여 manifest.xml 파일을 편집하세요:
<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>
이제 이전에 압축 해제했던 폴더의 내용을 당신의 변경 사항을 포함하여 *.zip 아카이브로 압축하세요. 다음으로, 원본 파일을 덮어쓰지 않도록 이 아카이브의 이름을 변경하고 확장자를 *.zip에서 *.ods로 변경하세요.
당신은 또한
이후에는 LibreOffice Calc에서 열릴 모든 파일에서 이 기능이 사용 가능할 것입니다.