最前面のドキュメントの先頭行に文字を入力する

説明

YosemiteのJXAではキー入力をシミュレートすることができます。これを利用して最前面のドキュメントの先頭行に文字を入力することができます。
まず、sys = Application("System Events")としてシステムイベントを扱えるオブジェクトを取得します。キー入力はkeystroke()メソッドを使います。入力したい文字を最初のパラメーターに指定します。コマンドキーやシフトキーなどを組み合わせる場合は2番目のパラメーターに{ using : "command down" }のように指定します。テキストエディットではコマンドキーと↑キーを同時に押すとカーソルが先頭に移動します。つまりkeyCode(126, { using: "command down"})とすることでカーソルが先頭に移動します。あとはkeystroke()メソッドを使って文字入力を行います。

サンプル [サンプルをダウンロード]

var TextEdit = Application("TextEdit");
TextEdit.activate(); // アクティブにする
delay(1); // アクティブになり切り替わるのを少し待つ
sys = Application("System Events");
sys.keyCode(126, { using: "command down"}); // ↑を入力
sys.keystroke("2014 Copyright K.F"); // 文字を入力
sys.keyCode(36); // returnを入力
<< 目次に戻る