Home> Part of Script factory. scriptfactory@mac.com .

XModules

AppleScript のモジュールライブラリです。僕は、ここで公開しているライブラリを使用して、Software Gallery で公開している多数の AppleScript アプリケーションをつくっております。

「load script」コマンド、もしくは「ModuleLoader」を使用して、script object としてロードすることができます。

script object を使用してスクリプトを複数のファイルに分割して開発する手法については、「AppleScript ソースコードの分割と共有」をご覧になって下さい。

誰かの AppleScript の開発に役に立てたら幸いです。使い方や使用に付いて不明な点があれば(なくても)お気軽に質問してください。

多くのモジュールの再コンパイルには、ModuleLoader と Dependencies として列挙されているモジュールが必要です。


Related Products

以下のツールを使うと XModules を便利に使うことができます。

ModuleLoader

AppleScript のモジュール管理システムです。

XModules は、load script コマンドで load して独立した script object として使えるようになっています。しかし、ModuleLoader を使うと、スクリプトの場所に依存せず(ソースコード中にファイルパスを書き込まないで)スクリプトをロードできるので、ぜひご使用をご検討ください。

また、各モジュールの再コンパイルする際には必要です。

HelpBook.osax

任意のバンドル内の Help Book を ヘルプビューアへ登録、表示を行うスクリプティング機能追加です。

ほとんどのモジュールで、マニュアルはそのバンドルの中に Help Book として収められています。ヘルプビューアでマニュアルを表示させる為にはスクリプティング機能追加 HelpBook.osax が必要です。詳細は、各モジュールの Read Me をお読みください。

Compiled Script fileShow Help

バンドルに設定されている Help Book をヘルプビューアで表示する AppleScript です。Help Book.osax が必要です。

Compiled Script fileHelpSearch

ヘルプビューアで検索を実行する AppleScript です。指定した語句を、ヘルプビューアに登録されているすべての Help Book から検索します。

XModules の多くは、スクリプトメニューからの実行すると、マニュアルをヘルプビューアで表示する仕様になっていますが、Show Help/Help Search を導入すると、Quicksilver からマニュアルの検索/表示操作を行えます。

AppleScriptDoc

ソースコードとコメントから、スクリプトのリファレンスマニュアルを HTML として出力します。

もっぱら、XModules のリファレンスは AppleScriptDoc を使って生成しています。

Data Collection

XList

Iterator, Queue, Stack として使えるリストのラッパーオブジェクトを提供する AppleScript のモジュールです。

AppleScript のリストの欠けている機能の多くを補完します。

また、AppleScript のリストはリファレンスを経由して要素を参照しないと速度が大きく低下するという性質があります。XList は内部で、常にリファレンスを経由してリストにアクセスする為、常に良好な動作速度が得られます。

1.3 -- 2008-03-20
Read Me
Manual
Download
Dependencies

XDict

XDict は AppleScript で連想配列のデータ構造を提供するモジュールです。連想配列とはキー値に対応して値を設定した配列です。

連想配列とは・・・record クラスにいくらか似ており、ラベルをスクリプトの実行中に新しく作ることができたり、変数で指定したりすることができるものと考えて大間違いないでしょう。

1.5 -- 2008-12-04
Read Me
Manual
Download
Dependencies

Text Manipulation

XText

テキスト操作をオブジェクト指向で行うための、AppleScript のテキストオブジェクトのラッパーオブジェクトです。文字列の置換や分割、空白の除去など様々なテキスト操作をオブジェクト指向のスタイルで行うことができます。

1.1 -- 2008-03-19
Read Me
Manual
Download
Dependencies

XCharacterSet

文字集合を表現する AppleScript のモジュールです。オブジェクト指向スタイルで様々な文字集合を構築し、ある文字列がその文字集合に含まれているがどうか調べることができます。

1.1 -- 2009-04-02
Read Me
Manual
Download
Dependencies

File Operation

XFile

XFile はファイル操作(移動/削除、属性の取得などなど)に統一的なオブジェクト指向インターフェースを与えるAppleScript モジュールです。

AppleScript でのファイル操作はスクリプティング機能追加、Finder、System Evetns、シェルコマンドを駆使して行えますが、機能がいろんなところに分散していて非常に煩雑です。XFile はこれらを隠蔽して、よく整理されたインターフェースのファイルオブジェクトを導入します。

1.2.2 -- 2009-11-09
Read Me
Manual
Download
Dependencies

PathAnalyzer

ファイルもしくはフォルダのパス文字列("Macintosh HD:Users:UserName:hello.txt"とか)だけから、引き出せるだけの情報を引き出します。フォルダへの参照 / フォルダの名前 / ディスクへの参照 / ファイル名 / 拡張子 / フォルダであるかどうか、など。

ほどんどすべてのファイル参照形式(alias、file specification、HFS パス、POSIX パス、furl class、Finderの参照形式)を扱えます。

1.7.2 -- 2008-11-27
Read Me
Manual
Download
Dependencie

PathConverter

相対パスを絶対パスに変換、逆の絶対パスから相対パスへの変換を行います。HFS 形式とPOSIX 形式の両方のファイルパスを扱えます。

1.4 -- 2008-03-20
Read Me
Manual
Download
Dependencies

Application Scripting

FinderSelection

Finder で選択されている物から条件にあったファイル/フォルダを取得するモジュールです。

AppleScript をスクリプトメニューや何らかのランチャーから起動して、Finderで選択されている物を取得して処理を行う・・・よくある AppleScript だと思います。FinderSelection はエラー処理を含めて気の利いた処理をほんの数行で実現できます。

2.0.5 -- 2009-04-30
Read Me
Manual
Download
Requirements
  • Mac OS X 10.4-10.5
Dependencies

InsertionLocator

Finder で選択されている場所を取得する AppleScript モジュールです。

Finder の insertion location プロパティは、常に Finder ウィンドウのトップレベルを意味します。選択されているフォルダやリスト表示で表示されているサブフォルダを取得したい場合もあるでしょう。InsertionLocator はそれらを取得することができます。そして、アプリケーションにあわせて細かい振る舞いをカスタマイズすることができます。

1.2.7 -- 2009-11-05
Read Me
Manual
Download
Requirements
  • Mac OS X 10.4-10.6
Dependencies
Applications

FileSorter

ファイルの参照のリストを、Finderで表示されている順番に並び替えます。アイコン表示、リスト表示、カラム表示に応じてソートの仕方を自動的に選択します。

3.0.4 -- 2009-11-06
Read Me
Manual
Download
Dependencies
Applications

TerminalCommander

ターミナルでのシェルコマンドの実行を支援するモジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。

  • ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
  • シェルコマンドの終了を待ってから、次の処理に移りたい。
  • シェルコマンドを実行するターミナルのシェルを指定したい。
  • ターミナルウィンドウの、色の設定、タイトルの設定、もしくは設定セットを指定したい。

Mac OS X 10.4 の為には、Version 1.6.2 をお使いください。

2.0.2-- 2009-06-23
Read Me
Manual
Download
Requirements
Dependencies
Applications

FrontAccess

最前面のアプリケーションの取得およびそのアプリケーションで開いている、最前面の書類のファイル参照を取得するモジュールです。

GUI Scripting を利用して、以下のことを簡単にできるようにします。

  • 最前面のアプリケーションのさまざまな情報の取得
  • 最前面のアプリケーションで開かれている最前面の書類のファイル参照の取得
  • 最前面のアプリケーションで開かれている最前面の書類を保存して閉じること

特定のアプリケーションに依存せず、現在注目しているファイルを処理するスクリプトの作成に役に立ちます。

1.1 -- 2009-10-20
Read Me
Manual
Download
Requirements
Dependencies
Applications

Script Development

GUIScriptingChecker

GUI Scripting が使用可能かどうか調べる AppleScript モジュールです。GUI Scripting を使ったスクリプトの最初で使います。

GUI Scripting が使用不可の場合は、GUI Scripting を ON にする許可を求めます。

1.1 -- 2009-10-19
Read Me
Manual
Download
Requirements
  • Mac OS X 10.4 以降
Dependencies
Applications

ShowHelpBook

Current Bundle(path to me で取得できるパス) の中の Help Book をヘルプビューアで表示するモジュールです。基本的には、HelpBook.osax の命令を呼び出しているだけですが、エラー処理(メッセージをダイアログで表示するなど)と Info.plist の内容が失われているときの自動復旧を行います。

ここで、公開しているモジュールのほとんどは ShowHelpBook を使って、自分のバンドル内のマニュアル表示機能を持っています。

1.0 -- 2007.06.09
Read Me
Manual
Download
Requirements

Misc

XAccessor

文字列で record のラベルや scirpt object の property 、グローバル変数を指定して値を取得/設定することができます。

AppleScript の言語レベルではサポートされていない機能を実現する AppleScript モジュールです。

1.1 -- 2007.08.22
Read Me
Manual
Download
Dependencies

XHandler

ハンドラを文字列で指定して実行することができます。

スクリプト実行時に実際に実行するハンドラを決定したり、Chain of Responder や method forwarding など、動的な振る舞いの実現に訳にたちます。

AppleScript の言語レベルではサポートされていない機能を実現する AppleScript モジュールです。

1.2 -- 2008-02-28
Read Me
Manual
Download
Dependencies

SortEngine

クイックソートとバブルソートのアルゴリズムを内蔵し、オブジェクト指向インターフェースで動作をカスタマイズできるソートルーチンです。

2.0 -- 2008.02.02
Read Me
Manual
Download
Dependencies

DefaultsChanger

DefaultsChanger は User Defaults の値を一時的に変更するモジュールです。

通常、他のアプリケーションの設定ファイル (User Defaults) を勝手に書き換えるのは好ましくないことですが、必要に迫られることもあるかと思います。そんな時、DefaultsChanger は安全に User Defaults を一時的に変更するフレームワークを提供します。

1.0 -- 2008-04-08
Read Me
Manual
Download
Dependencies

Deprecated

UniqueNamer

指定したフォルダ内で他のファイルやフォルダとダブらない、ユニークなファイル名を求める AppleScript モジュールです。

Mac OS 9(Classic 環境)互換の長さのファイル名の生成にも使えます。

Mac OS X 10.5 では、XFile の unique_child を使ってください。

1.6.3 -- 2007.07.25
Read Me
Manual
Download
Dependencies

StringEngine

AppleScript によるテキスト処理ルーチンを集めたモジュールです。基本的なテキスト処理ルーチンを、ほぼすべて網羅していると思います。

  • 文字列を指定した区切り文字で分割してリストへ変換
  • 文字列のリストを指定した区切り文字で連結
  • 文字列中の文字列の置換
  • Styled text(もしくは Unicode text)から Plain text を抜き出す
  • AppleScript's text item delimiters の管理
  • その他たくさん
1.8.3 -- 2007.12.25
Read Me
Manual
Download
Dependencies

TerminalCommander

ターミナルでのシェルコマンドの実行を支援するモジュールです。以下のような、複雑な処理を行いたいときにこのスクリプトはお役に立てるでしょう。

  • ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
  • シェルコマンドの終了を待ってから、次の処理に移りたい。
  • シェルコマンドを実行するターミナルのシェルを指定したい。
  • ターミナルウィンドウの、色の設定、タイトルの設定、文字エンコードの設定を指定したい。

Mac OS X 10.5 以降には、Version 2.0 以上を使ってください。

1.6.2 -- 2008-10-03
Read Me
Manual
Download
Requirements
Dependencies