このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

ポップアップメニューの項目を変更

発言者:あり
( Date Wednesday, June 08, 2005 13:24:52 )


Macosx10でのAppleScriptで
ポップアップメニューの項目を変更したいのですが。
ライブラリのスクリプトのサンプルスクリプト(UI Element Scripts)
をみてもポップアップメニューを変更することができません。
どうかよろしくお願いします。

森下 さんからのコメント
( Wednesday, June 08, 2005 21:22:15 )

こんな感じでどないでっしゃろ。

  tell application "System Events"
    tell process "アプリケーションの名前"
      tell window "ポップアップの含まれるウインドウの名前"
        tell pop up button 1
          click
          tell menu 1
            pick menu item "選びたいメニューの名前"
            delay 1 --ディレイを入れないとうまく同期してくれなかったりorz
          end tell
        end tell
      end tell
    end tell
  end tell


あり さんからのコメント
( Thursday, June 09, 2005 10:27:05 )

有り難うございます。やってみます。

あり さんからのコメント
( Thursday, June 09, 2005 20:28:51 )

"Dock"で試してみたのですが。
System Events エラー: NSReceiverEvaluationScriptError: 4
がでてしまうのですが。
どうかよろしくお願いします。

tell application "System Events"
  tell process "システム環境設定"
    tell window "Dock"
      tell pop up button 1
        click
        tell menu 1
          pick menu item "スケールエフェクト"
          delay 1 --ディレイを入れないとうまく同期してくれなかったりorz
        end tell
      end tell
    end tell
  end tell
end tell




森下 さんからのコメント
( Thursday, June 09, 2005 22:51:53 )

ちゃんと階層を追わないと、NSReceiverEvaluationScriptError: 4になります。
システム環境設定を立ち上げて終了するまで自動にするとこんな感じ。

tell application "System Preferences" to activate
tell application "System Events"
  tell process "System Preferences"
    tell window "システム環境設定"
      tell scroll area 1
        tell button "Dock"
          click
          delay 1
        end tell
      end tell
    end tell
    repeat
      if name of window 1 is equal to "Dock" then
        exit repeat
      end if
    end repeat
    tell window "Dock"
      tell pop up button 1
        click
        delay 1
        tell menu "OtherViews"
          pick menu item "スケールエフェクト"
        end tell
      end tell
    end tell
  end tell
end tell
tell application "System Preferences" to quit

あり さんからのコメント
( Tuesday, June 14, 2005 20:09:43 )

遅くなりました。有り難うございます。