需要一个 Applescript 使 textutil 将最前面的 TextEdit 文档保存为 HTML

Posted

技术标签:

【中文标题】需要一个 Applescript 使 textutil 将最前面的 TextEdit 文档保存为 HTML【英文标题】:Need an Applescript making textutil save frontmost TextEdit doc as HTML 【发布时间】:2013-03-09 19:48:17 【问题描述】:

我在创建一个 AppleScript 以在最前面的 TextEdit 文档上执行“另存为 html”并将其保存到同一目录(同名,只需添加一个“html”扩展名......我认为无论如何都是默认行为)。

我的理解是应该使用textutil来做到这一点。

为了进一步完善和感谢:它是否可以检查该目录中是否已经存在具有相同名称和扩展名的文件,如果存在,则自动将保存的 HTML 文件重命名为“xxxx2.html”?

【问题讨论】:

你试过什么?你哪里有问题?如果没有问题,我们将无法提供很好的帮助。 我不是在寻求帮助来调试我的几个惨败的applescript,而是寻求一种成功的方法。这不等于“授鱼而不授鱼”,因为我肯定会通过学习成功的剧本来学习我需要学习的东西。 【参考方案1】:

这会将 ~/Desktop/test.rtf 保存为 ~/Desktop/test.html,如果 HTML 文件已经存在,则覆盖它:

tell document 1 of application "TextEdit"
    save
    path
end tell
do shell script "textutil -convert html " & quoted form of result

另一种使用 UI 脚本的方法(仅在 10.8 中测试):

tell application "System Events" to tell process "TextEdit"
    click menu item "Save As…" of menu 1 of menu bar item "File" of menu bar 1
    tell sheet 1 of window 1
        tell pop up button 1 of group 1 of group 1
            click
            click menu item "Web Page (.html)" of menu 1
        end tell
        click button "Save"
    end tell
end tell

【讨论】:

那个 textedit 快捷方式似乎在 OS 10.6.8 中不起作用。虽然我可以轻松地为滚动菜单选项分配键盘快捷键(通过键盘偏好面板),但它对 Automator、Quickeys 和苹果脚本非常有抵抗力。感谢 Applescript,看起来不错。

以上是关于需要一个 Applescript 使 textutil 将最前面的 TextEdit 文档保存为 HTML的主要内容,如果未能解决你的问题,请参考以下文章

AppleScript 更改音频 MIDI 设置

appS 是不是需要授权才能执行启动应用程序的 AppleScript?

使用 Automator/Applescript 输入数据?

AppleScript 实现短信自动转发

Applescript 将文件复制到新文件夹

使用 JavaScript 语法在 AppleScript 中打开 XML 文件