osascript でファイルを保存するサンプル
ファイルを保存するという基本的なところをUI Elementsではなく、Standard Suiteで行うことにした。
tell application ("TextEdit") activate make new document set text of document 1 to "test from apple script" save document 1 in POSIX file ("/Users/takuya/Desktop/sample.txt") end tell
同じことをJavascript for Automation で
var app = Application("TextEdit") app . activate() var doc = app.Document() doc.text = "test" app.documents.push(doc) app.documents[0].save({ in : Path("/Users/takuya/Desktop/sample2.txt") })
こんなもん。簡単でした。
保存については、マニュアル飲み方
ポイント
関数の引数の渡し方
JavaScriptで書くときには、ちょっとくせがる。
引数なしの時
doc.save() //
引数があるとき
doc.save({ as : 'Text' }) //
引数は、不定個数ではなく、「一つ」で渡す。その一つはJSONであり、引数の名前が、キー名になる。
引数を複数入れるとき
doc.save({ as : 'Text' in: Path("/Path/to/Write") }) //
オブジェクトで複数いれます。ファイル・パスはPath()オブジェクトを使ってUNIXパス文字列を扱います。
理屈がわかると簡単
JavaScriptでもAppleScriptでもドキュメントさえ押さえれば、簡単に自動化処理を作ることができる。