Mac OSの使い方/Mac OS 関連情報

GUI Scripting を楽しもう!(3ページ目)

Mac OS X v10.3 のAppleScript でサポートされた新しい機能で「アップルスクリプトによりGUI操作する」というのがあります。簡単な使い方をサンプルを交えてご紹介しましょう。

木下 幹司

執筆者:木下 幹司

Macガイド


マウスボタンを押す

 ほかにもマウスボタンを押す操作を「click」命令により実行できます。click の対象となる部品を調べる方法はサンプルの「Probe Window.applescript」にヒントがあります。このスクリプトのなかから取得したいアイテムが書かれている行だけを取り出して、さらに“イベントログ”を利用して実行履歴を表示させ、利用できるボタンの情報を取得します。

【実行例】
※以下のウインドウのボタンを調べます。

この Finder ウインドウが最前面に開いている状態で以下のスクリプトを実行。

tell application "System Events"
   tell process "Finder"
      tell window 1
         get every button
      end tell
   end tell
end tell


↓ ↓
(イベントログの結果)

tell application "System Events"
   get every button of window 1 of process "Finder"
      {button 1 of window "tess" of application process "Finder" , button 2 of window "tess" of application process "Finder" , button 3 of window "tess" of application process "Finder" , button 4 of window "tess" of application process "Finder" }
end tell


この結果により、window 1 に button が 1 ~ 4 あることがわかります。

1 は ツールバーを表示するボタン、
2は緑 
3は黄色
4は赤 
のボタンです。

button 1 の情報をみるには・・

tell application "System Events"
   tell process "Finder"
      tell window 1
         properties of button 1
      end tell
   end tell
end tell


button 1 を押すためには・・・

tell application "Finder"
   activate
end tell
tell application "System Events"
   tell process "Finder"
      tell window 1
         click button 1
      end tell
   end tell
end tell


※ メニューの場合と同様に、対象アプリを最前面に
移動する必要があります。


あとはトライ&エラーあるのみ!
 
 基本的な作り方は以上です。これらを応用すれば、もっともっといろんな使い方ができそうですね!
 いままで紹介したスクリプトの「 tell process "Finder" 」の"Finder" を操作したいアプリケーションの名前に置き換えれば、そのアプリケーションのメニューやボタンが操作できるようになるでしょう。

関連リンク:
AppleScript (アップルジャパン のサイトですが、情報が古いです)
AppleScript in Mac OS X (Apple 米国のサイトです、最新情報はこちら)
AppleScript 関連リンク集 from All About Japan(リンク集です)
【編集部おすすめの購入サイト】
Amazonで MAC 関連の商品をチェック!楽天市場で MAC 関連の商品をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます