AppleScript スクリプトバンドル覚え書き
オブジェクト指向言語 AppleScript
DTP の現場での AppleScript は、
Illustrator や InDesign の流し込みをさせたり、
ファイルの管理や整理を行なわせたりと、
「かゆいところに手が届く」使われ方をしています。
クライアントが増えるごとに
クライアント特有の流し込みやデータベース管理を
AppleScript で組むことになりますが、
似たような処理を使い回す必要が出てきます。
この「似たような処理を使い回す」という点について、
ユーザーによっては
過去に作ったプログラムを開いて、
必要な部分をコピペして新たなプログラムに組み込む、
という作業を行なっていると思います。
ところが、
AppleScript は
Script Libraries という機能を実装しており、
過去に作ったプログラムをライブラリ(パーツ)として
そのまま使い回せるようになっています。
いわゆる
オブジェクト指向プログラミングが
実践できるのです。
スクリプトバンドルを作る
論より証拠、作ってみましょう。
最初にライブラリとなるスクリプトを作成します。
(1)以下のスクリプトを、デスクトップに保存。
ファイル名は「myAlert.scpt」とします。
on do(theTXT)
display alert theTXT
end do
次に スクリプトバンドル のファイルを作ります。
(2)新規ドキュメントを開いて、保存。
「ファイルフォーマット」を「スクリプトバンドル」に。
※拡張子が「.scptd」になっていればOK。
(3)ウィンドウの「バンドルの内容」をクリック、
右側にウィンドウが表示されたら、右クリックで「新規フォルダ」を選択。
さらに「名称未設定フォルダ」を右クリックして「名称変更」、
「Script Libraries」に変更。
(4)今作った「Script Libraries」フォルダに、
(1)で作った「myAlert.scpt」ファイルを入れます。
ここまでで、準備完了です。
スクリプトバンドルの使い方
あとは、
「Script Libraries」フォルダに入れたファイルから、
サブルーチン(ハンドラ)を呼び出すだけです。
スクリプトバンドル「名称未設定.scptd」に、
以下を打ち込んで実行してみてください。
script "myAlert"'s do("Hello World")
「こんなの、わざわざライブラリにしなくても、display alert でよくね?」
と思った方は、
スクリプトバンドル「名称未設定.scptd」に、
以下を打ち込んで実行してみてください。
property myAlert : script "myAlert"'s do
myAlert("Hello World")
こうすることで、トップレベル(メインスレッド)なら
いつでも「myAlert()」でハンドラ呼び出しができるので、
見通しがかなりすっきりします。
ライブラリファイルはエイリアスも可
やってみたらできました。
次は!
ということで、
「スクリプトバンドル」とは、
・スクリプトファイルなのにフォルダを内包している不思議なファイル
なのでした。
これを使うことで、
過去に作ったハンドラをライブラリとして保管、
使い回しが簡単に行なえます。
次回はこれに
script object を入れて
高速処理をしてみたいと思います。
Author And Source
この問題について(AppleScript スクリプトバンドル覚え書き), 我々は、より多くの情報をここで見つけました https://qiita.com/ginn_nezz/items/65f2201ff3babcb2e641著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .