2

我编写了一个脚本,它从 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 工作正常,但我看不到如何将我创建的签名设置为当前帐户的默认签名。我做了很多根本没有帮助的研究,我也翻了翻字典。

4

1 回答 1

3

这可以通过 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
于 2013-02-27T05:47:30.003 回答