Mac : JavaScript for Automation (JXA) 例文辞典

このページはMacのOS X Yosemiteから使用できるようになった自動化用のJavaScript (JavaScript for Automation : JXA) の用例について扱っています。
*勉強用に作成したページなので間違いや不具合の出るサンプルがあるかもしれません。致命的なもので、これはまずいというサンプルがありましたらopenspc@alpha.ocn.ne.jpまでメールをください。


Last update:2014/12/17 PM 5:19

OS X制御に必要な基本事項

  1. JavaScriptプログラムを作成するためのScriptEditor(スクリプトエディタ)を起動する

アプリケーション(共通)

  1. 現在スクリプトを実行しているアプリケーションオブジェクトを取得する
  2. アラートダイアログを表示する
  3. 警告音(ビープ音)を鳴らす
  4. 音声を出す/文章を読み上げる
  5. キー入力のシミュレートを行う
  6. コマンドキーやシフトキーなど修飾キーも同時に入力する
  7. キーコードで入力する(returnキーをシミュレートする)
  8. スクリーンセーバーを起動する
  9. ユーザー数・アカウント数を取得する
  10. 現在のユーザー情報を取得する
  11. ユーザー名を取得する
  12. ユーザーのホームディレクトリのパスを取得する
  13. ユーザーのアイコン画像のパスを取得する
  14. ドックが自動的に隠される設定になっているかどうか調べる

ファインダー (Finder)

  1. ファインダーのバージョンを取得する
  2. ファインダーで選択された項目数を取得する
  3. ファインダーで選択された項目名を表示する(オリジナル項目名)
  4. ファインダーで選択された項目のディスプレイ名を表示する
  5. ファインダーで選択された項目の拡張子を表示する
  6. ファインダーで選択された項目がロックされているかどうか調べる
  7. ファインダーで選択された項目の種類を調べる
  8. ファインダーで選択された項目のファイルサイズを調べる
  9. ファインダーで選択された項目の作成日を調べる
  10. ファインダーで選択された項目の修正日を調べる
  11. ウィンドウの総数を求める
  12. ウィンドウのIDを求める
  13. ウィンドウの名前を求める
  14. ウィンドウにタイトルバーが存在するかどうか調べる
  15. ウィンドウにクローズボックスが存在するかどうか調べる
  16. ウィンドウがリサイズできるかどうか調べる
  17. ウィンドウがズームできるかどうか調べる
  18. ステータスバーが表示されているか調べる

テキストエディット (TextEdit)

  1. テキストエディットを最前面(アクティブ)に表示する
  2. アプリケーション名をアラートダイアログに表示する
  3. アプリケーションのバージョンをアラートダイアログに表示する
  4. 指定した場所にあるファイルを開く(絶対パスで指定)
  5. デスクトップ上にあるファイルを開く(ユーザー別に対応する)
  6. 新規にドキュメント(書類)を作成する
  7. 開かれているドキュメントの数を求める
  8. 新規にドキュメント(書類)を作成し文字を出力する
  9. 最前面のドキュメント内の文字を読み出しアラートダイアログに表示する
  10. 最前面のドキュメントの先頭行に文字を入力する
  11. 全文の文字サイズを指定する
  12. 特定の段落の文字サイズを指定する
  13. 特定の位置の文字サイズを指定する
  14. 段落の先頭の文字サイズを指定する
  15. 全ての段落の先頭の文字サイズを変更する
  16. 1文字単位で文字サイズを取得する
  17. 全文の文字色を指定する(色の名前で指定する)
  18. 文字の色を読み出す
  19. 全文のフォント(書体)を指定する

サファリ (Safari/Browser)

  1. Safariのバージョンを取得する
  2. 開かれているウィンドウの総数を取得する
  3. アクティブタブのURLを取得する
  4. ドキュメントのURLを取得する
  5. URLを指定してWebページを表示する
  6. ページの内容(テキスト)を取得する

ファイアーフォックス (Firefox/Browser)

  1. Firefoxのバージョンを取得する
  2. Firefoxの名前を取得する

メール (Mail)

  1. Mail(メール)のバージョンを取得する
  2. 送信メールを作成する

マップ/地図 (Maps)

  1. マップのバージョンを取得する
  2. マップの名前を取得する

プレビュー (Preview)

  1. プレビューのバージョンを取得する
  2. プレビューの名前を取得する

アクロバット (Adobe Acrobat XI Pro/PDF)

  1. Acrobatのバージョンを取得する
  2. 開かれているドキュメントの数を取得する
  3. 開かれているドキュメントの名前を取得する
  4. ドキュメントが変更されたかどうか調べる
  5. ドキュメントのページ総数を取得する
  6. 現在表示されているページ番号を取得する
  7. 現在のページの表示倍率を取得する
  8. ページの表示倍率を設定する
  9. 現在のページの表示方法を取得する
  10. ページの表示倍率の方法を指定する

アフターエフェクツ CC 2014 (Adobe AfterEffects CC 2014)

  1. Adobe After Effects CC 2014のバージョンを取得する
  2. 指定したスクリプトをAfter Effects CC 2014で実行する
  3. ウィンドウサイズを取得する
  4. 新規コンポジションを作成する

イラストレーター CC 2014 (Adobe Illustrator CC 2014)

  1. Adobe Illustrator CC 2014のバージョンを取得する
  2. 開かれているドキュメントの総数を取得する
  3. 新規にドキュメントを作成する
  4. テキストフレームの総数を取得する
  5. テキストフレームの内容を取得する
  6. テキストフレームの内容を変更する
  7. レイヤーの総数を取得する
  8. レイヤー名を取得する
  9. レイヤー名を変更する
  10. 最初の階層にあるレイヤー名一覧をテキストエディットのドキュメントに出力する
  11. 選択されたオブジェクトの数を取得する

インデザイン CC 2014 (Adobe InDesign CC 2014)

  1. Adobe InDesign CC 2014のバージョンを取得する
  2. 開かれているドキュメントの総数を取得する
  3. 新規にドキュメントを作成する
  4. ドキュメントのテキストフレームの総数を取得する
  5. ドキュメントの総ページ数を取得する

フォトショップ CC 2014 (Adobe Photoshop CC 2014)

  1. Adobe Photoshop CC 2014のバージョンを取得する
  2. レイヤーの総数を取得する
  3. レイヤー名を取得する
  4. レイヤー名を変更する
  5. 最初の階層にあるレイヤー名一覧をテキストエディットのドキュメントに出力する

フォトショップ ライトルーム (Adobe Photoshop Lightroom)

  1. Adobe Photoshop Lightroomのバージョンを取得する

UNIXシェル/コマンドを利用する(UNIX Shell/UNIX Command)

  1. UNIX Shell(シェル)を利用する
  2. bashのバージョンを取得する
  3. Rubyのバージョンを取得する
  4. 現在のユーザー名を求める(whoami)
  5. 現在のディレクトリの場所(パス)を求める(pwd)
  6. ディレクトリを変更する(cd)

OS X YosemiteのAPIを利用する(OS X API/Objective-C Bridge)

  1. Cocoaなどの機能をインポートしてOS XのAPIを利用する(Objective-C Bridge)

Mac : OS X JavaScript for Automation (JXA) 関連リンク

  1. JavaScript for Automation Release Notes (Apple公式サイト)
  2. AppleScript Language Guide
  3. JavaScript for OSX Automation AppleScriptの代替をJavaScriptでやるサンプル Advent Calendar 2014