如何用AppleScript将剪贴板RTF内容粘贴到Apple Mail新邮件中?
完善Alfred工作流:将剪贴板RTF内容粘贴到新邮件
我来帮你搞定这个AppleScript脚本,完美衔接你现有的Markdown转RTF工作流,直接把剪贴板里的格式化内容导入到Mail的新邮件里~
完整的AppleScript代码
try -- 确保获取剪贴板中的RTF格式内容,避免拿到纯文本 set clipContent to the clipboard as «class RTF » on error -- 容错处理:如果剪贴板没有RTF内容,弹出提示 display alert "提示" message "剪贴板中未检测到RTF格式内容,请先转换你的Markdown笔记哦" return end try tell application "Mail" -- 让Mail前台激活,方便后续编辑 activate -- 创建新邮件并设置为可见状态 set newMessage to make new outgoing message with properties {visible:true} -- 将RTF内容赋值给邮件正文,完整保留格式 set content of newMessage to clipContent -- 可选:把光标定位到邮件正文开头,方便补充内容 set selection of newMessage to text 1 thru 0 of content of newMessage end tell
代码细节说明
as «class RTF »:这一步很关键,明确指定读取剪贴板的RTF格式数据,保证Markdown转出来的排版(比如标题、列表、加粗)都能完整保留在邮件里。- 容错try-catch:避免剪贴板为空或者不是RTF时脚本崩溃,给你清晰的提示。
visible:true:创建新邮件时直接在前台打开,不用你手动找后台的邮件窗口。- 光标定位:最后一行可选代码把光标放在正文开头,你可以直接接着编辑内容;如果想默认光标在收件人栏,把这行改成
tell newMessage to set focus to to recipients即可。
在Alfred工作流中使用的步骤
- 在你的现有Alfred工作流里,添加一个Run Script动作。
- 在脚本类型下拉菜单中选择AppleScript。
- 把上面的代码粘贴进去。
- 可以把这个动作和之前的Markdown转RTF动作关联:比如转完之后弹出一个Alfred选项菜单,让你选择“复制到剪贴板”或者“粘贴到新邮件”,或者直接把它设为转完之后的可选分支。
这样一来,你处理完Markdown笔记后,一键就能把格式化好的内容放进新邮件里,效率拉满~
内容的提问来源于stack exchange,提问作者Fez
相关产品推荐
相关产品推荐

