Debian 上 LibreOffice 宏功能使用指南
一 安装与准备
- 在 Debian 上安装 LibreOffice(若尚未安装):
- 更新索引并安装:sudo apt update && sudo apt install libreoffice
- 如需使用 Python 宏,建议安装扩展 APSO(Alternative Script Organizer for Python),便于创建、管理与编辑 Python 宏。
- 说明:LibreOffice 默认内置 Basic 宏支持;Python 宏需要安装扩展并放置到指定目录后方可使用。
二 启用宏与信任设置
- 打开 LibreOffice(如 Writer/Calc)→ 菜单 工具 → 选项 → 安全性 → 宏设置,选择启用级别(例如:启用所有宏 或按需设置),以允许运行宏。
- 在 信任中心 中可将特定目录或文件设为受信任,以便在受限策略下仍能运行可信宏。
三 录制与运行宏
- 录制宏:菜单 工具 → 宏 → 录制宏,执行所需操作 → 停止。录制的宏会按位置(当前文档/全局)保存,后续可直接运行。
- 运行宏:菜单 工具 → 宏 → 运行宏,选择目标宏执行;也可将宏分配给工具栏按钮或事件(如文档打开时)以便一键触发。
四 使用 Python 宏
- 安装 APSO 扩展后,可通过 工具 → 宏 → 组织 Python 脚本(Organize Python Scripts) 创建/编辑/删除 Python 宏。
- Python 宏的存放位置(容器)与层级:
- 用户宏:$HOME/.config/libreoffice/4/user/Scripts/python(Linux)
- 应用宏:{安装目录}/share/Scripts/python
- 文档宏:嵌入文档内部,仅当文档打开时可访问
- 层级:库(文件夹)→ 模块(.py 文件)→ 宏(函数)
- 最小可用示例(保存为模块中的函数,例如 mymodule.py):
- 说明:LibreOffice Python 宏通过全局对象 XSCRIPTCONTEXT 获取桌面/文档等 UNO 对象。
- 示例:
- def greet():
- document = XSCRIPTCONTEXT.getDocument()
- text = document.getText()
- cursor = text.createTextCursor()
- text.insertString(cursor, “Hello from LibreOffice Python macro!\n”, 0)
- 运行:在 工具 → 宏 → 运行宏 中选择刚创建的 Python 函数执行。
五 命令行执行与自动化
- 无界面执行宏(适合批处理/服务器场景):
- 基本语法:libreoffice --headless --invisible --macro <宏名称> [文件路径]
- 示例:libreoffice --headless --invisible --macro “mymodule.greet” /path/to/document.odt
- 其他常用命令行能力(便于与宏配合完成批量工作流):
- 转换格式:libreoffice --headless --convert-to pdf /path/to/file.odt
- 打印到文件/打印机:libreoffice --headless -p /path/to/file.odt 或 –print-to-file
- 指定组件启动:libreoffice --writer /path/to/file.odt
- 如通过 Flatpak 安装,需使用:flatpak run org.libreoffice.LibreOffice --headless --macro “mymodule.greet” /path/to/file.odt
- 安全提示:宏可能带来安全风险,尤其是来源不明的宏。建议仅启用来自可信来源的宏,并在受控环境中测试运行。