1

AppleScript を使用して、新しい連絡先を作成し、それを開いて Mac Outlook 2011 で表示できます。

tell application "Microsoft Outlook"
    set newContact to make new contact with properties {first name:"Fred", last name:"Flintstone"}
    open newContact
end tell

ただし、この連絡先は既に保存されています。保存されていない新しい Outlook 連絡先を開き、プロパティを入力して、保存するかどうかをユーザーが決定できるようにする方法はありますか?

「新しいウィンドウを作成」をいじりましたが、どこにも行きません。私は一貫してエラーを受け取ります:

error "Microsoft Outlook got an error: AppleEvent handler failed." number -10000

これについては別の方法で取り組む必要があると思いますが、Outlook の AppleScript ディクショナリには有望とは思えないものがあります。

4

1 に答える 1

1

これを行うには、UI 要素をスクリプト化して新しい連絡先を開きます。

tell application "System Events"
  click menu item "Contact" of menu 1 of menu item "New" of menu 1 of menu bar item "File" of menu bar 1 of application process "Outlook"
end tell

更新: ただし、新しい連絡先は、Outlook データベースに追加されるまで、つまり保存されるまで、AppleScriptable オブジェクトではないことに注意してください。これらの行を上記のスクリプトに追加すると、次のようになります。

tell application "Microsoft Outlook"
  set contactWindow to item 1 of (windows whose index is 1)
  get object of contactWindow
end tell

contactWindow の object が欠損値です。

したがって、Outlook Applescript 辞書 API を使用して新しい連絡先のフィールドを編集する場合は、その連絡先が最初に保存されている必要があります。

2 番目の更新: 連絡先の作成後に「tell application "System Events"」ブロックに配置すると、UI 要素スクリプトを使用して、その連絡先の姓、名、および電子メール アドレスが設定されます。

set lastName to "Einstein"
set firstName to "Albert"
set emailAddress to "a.einstein@relativity.com"

set value of text field 1 of splitter group 1 of window 1 of application process "Outlook" to lastName
set value of text field 2 of splitter group 1 of window 1 of application process "Outlook" to firstName
set value of text field 6 of scroll area 1 of window 1 of application process "Outlook" to emailAddress

コメントで述べたように、これを機能させるには、「補助デバイスのアクセスを有効にする」を有効にする必要があります。これは、AppleScript からプログラムで行うこともできます。

-- turn on UI automation - may throw a permissions dialog
if UI elements enabled is false then
  set UI elements enabled to true
end if
于 2013-03-13T01:18:41.710 に答える