如何使用AppleScript将Numbers工作表保存为PDF并自定义文件名
方案1:优先使用Numbers原生导出接口(更稳定,无适配问题)
这个方案不需要模拟点击UI,不会因为系统版本、语言变化失效,代码更简洁:
-- 在这里修改你要的保存文件名 set nameFile to "自定义导出文件名" -- 这里设置保存位置,当前默认是桌面,改成 downloads folder 即可保存到下载文件夹 set saveLocation to (path to desktop folder as text) & nameFile & ".pdf" tell application "Numbers" activate -- 导出当前打开的Numbers文档为PDF export front document to file saveLocation as PDF end tell
- 如果你需要导出指定工作表而不是整个文档,可以修改export的对象,比如改成
export active sheet of front document to file saveLocation as PDF就可以只导出当前打开的工作表。
方案2:基于你现有模拟打印的代码修改
如果你必须走打印窗口的流程,可以用下面修改后的代码:
-- 预设保存文件名 set nameFile to "我的导出文件" activate application "Numbers" tell application "System Events" tell process "Numbers" -- 调出打印面板 keystroke "p" using command down delay 0.5 -- 点击PDF下拉按钮 click pop up button "PDF" of window 1 delay 0.2 -- 选择保存为PDF选项 click menu item "保存为PDF…" of menu 1 of pop up button "PDF" of window 1 delay 0.5 -- 输入预设文件名 keystroke nameFile delay 0.2 -- 回车确认保存 keystroke return delay 1 end tell end tell
- 使用前需要给运行脚本的工具(脚本编辑器/自动操作/快捷指令)开启「辅助功能权限」,路径是:系统设置→隐私与安全性→辅助功能,勾选对应应用的权限。
- 如果操作偶尔失效,可以适当调大
delay后的数值,适配你的电脑运行速度。 - 英文系统下需要把代码里的
"保存为PDF…"替换为"Save as PDF…"。
内容的提问来源于stack exchange,提问作者helpmator
相关产品推荐
相关产品推荐

