【问题标题】:Set the default Microsoft Outlook for Mac signature with Applescript使用 Applescript 设置默认 Microsoft Outlook for Mac 签名
【发布时间】:2013-09-12 19:41:00
【问题描述】:

我编写了一个脚本,该脚本从 Active Directory 中获取信息并在 Microsoft Outlook for Mac 中创建一个新签名。

我使用以下代码来创建签名(我将省略其他代码,因为它并不真正相关):

tell application "Microsoft Outlook"

    make new signature with properties {name:strName, content:contentHTML, plain text content:"", include in random:false}

end tell

其中 strName 是我从其他地方获得的签名的名称,而 contentHTML 是我在其他地方构建的 HTML 中的实际签名。

将此签名添加到 Microsoft Outlook 工作正常,但我看不到如何将我创建的签名设置为当前帐户的默认签名。我做了很多根本没有帮助的研究,我也翻查了字典。

【问题讨论】:

  • 恐怕这不能用 AppleScript 或 Shell 脚本完成。Outlook 2011 将签名和邮件帐户存储在其数据库中,该数据库位于文件夹 /Documents/Microsoft User Data/Office 2011 Identities/Main Identity/ 中。我确定从帐户到其默认签名的映射在某处,但我不知道在没有 Outlook 注意到的情况下篡改它的任何方式(当数据库文件被修改时,Outlook 会在下次启动时重建它)。
  • 感谢您的回复。我会看看:)。这种功能在 Outlook 中会很有用。
  • 您现在有新方法吗?

标签: outlook applescript


【解决方案1】:

这可以通过 AppleScript 来完成。 Outlook 2011 字典中没有专门执行此操作的内容,因此可以通过编写 UI 元素脚本来完成此操作,这无疑是相当笨重的。

签名是基于每个帐户设置的,因此您需要向此脚本提供帐户名称以及要为该帐户设置的签名名称。

setDefaultSignature to "strName" for "Gmail"

on setDefaultSignature to mySignature for accountName
  tell application "Microsoft Outlook" to activate
  tell application "System Events"
    -- turn on UI automation - may throw a permissions dialog
    if UI elements enabled is false then set UI elements enabled to true

    click menu item "Preferences..." of menu 1 of menu bar item "Outlook" of menu bar 1 of application process "Outlook"
    click item 1 of (buttons of window "Outlook Preferences" of application process "Outlook" whose description is "Signatures")
    click button "Default Signatures..." of window "Signatures" of application process "Outlook"

    repeat with thisRow in rows of table 1 of scroll area 1 of sheet 1 of window "Signatures" of application process "Outlook"
      if value of text field of thisRow as string is accountName then
        click pop up button 1 of thisRow
        click menu item mySignature of menu 1 of pop up button 1 of thisRow
        click button "OK" of sheet 1 of window "Signatures" of application process "Outlook"
        click item 1 of (buttons of window "Signatures" of application process "Outlook" whose description is "close button")
        exit repeat
      end if
    end repeat
  end tell
end setDefaultSignature

【讨论】:

  • & Frank 你解决了这个问题吗,你知道是否有可能制作一个我的同事可以运行的脚本,它会安装他们基于 HTML 文件的签名? (OSX 或 MacOS 上的 Outlook)
  • 好吧,差不多九年后...现在有更好的方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多