使用applescript / automator将多个项目附加到新的Outlook邮件

时间:2016-04-23 03:50:17

标签: macos outlook applescript ms-office automator

我已经找到了(在线发现)如何将Finder中的单个项目附加到新的Outlook消息中。我使用这种格式玩了很多 - 改变了#tititem'和选择以及其他一些更重大的变化 - 但我无法解决如何让一个项目连接到一个新的Outlook消息。

每个新的Outlook消息只附加一个项目。 Automator中没有Outlook Automator选项 - 我认为Office 365取消了它们。

我目前的脚本如下:

tell application "Finder" to set selectedItem to item 1 of (get selection)
set theAttachment to selectedItem as alias
set fileName to name of selectedItem

  tell application "Microsoft Outlook"
  set newMessage to make new outgoing message with properties {subject:fileName}
tell newMessage
   make new attachment with properties {file:theAttachment}
  end tell
  open newMessage
  get newMessage 
end tell

我目前正在尝试在Automator中将此脚本用作服务,因此我有一个右键单击选项可将文件直接发送到新的Outlook邮件。它目前的设置是这样的。 enter image description here

1 个答案:

答案 0 :(得分:0)

您的Automator服务获取"文件或文件夹"来自Finder。这部分还可以。只需更改AppleScript的内容。

要读取这些输入(Finder中的选定文件),您必须使用"运行"处理程序,其中"输入"将是选定的文件。

下面的脚本必须替换您当前的脚本。我认为,如果有多个选择,您的电子邮件主题应该是第一个选定文件的名称:

on run {input, parameters}
set SelectedItems to input
tell application "Finder" to set fileName to name of first item of SelectedItems

tell application "Microsoft Outlook"
    set newMessage to make new outgoing message with properties {subject:fileName}
    tell newMessage
        repeat with aFile in SelectedItems -- the loop through all selected items
            make new attachment with properties {file:aFile}
        end repeat
    end tell
    open newMessage
    get newMessage
end tell
return input
end run 

最重要的是,我有2条评论:

1)当您选择文件夹时,此脚本不会过滤此案例。在循环内部,您可能想要添加" if"测试以检查文件或文件夹,并在案例选择是文件夹时采取行动。

2)我不明白你想要执行的整个过程:选择文件,转到菜单服务运行此服务,这将创建一个新的Outlook消息,这些文件作为附件...你可以通过以下方式完成所有这些选择文件并将其拖放到Dock中的Outlook图标上。它将立即创建一个包含所有附加文件的新空白消息。