AppleScript を実行 (macOS)
他のアプリケーションに AppleScript のコマンドを送信します。
オプション
- [計算済みの AppleScript] オプションでは、AppleScript のテキストとして使用する計算式を作成します。
- [AppleScript 記述] は AppleScript テキストです (最大 30000 文字)。繰り返しループのインデントや条件分岐はサポートされていません。
互換性
製品 | サポート |
FileMaker Pro | はい |
FileMaker Go | いいえ |
FileMaker WebDirect | いいえ |
FileMaker Server | いいえ |
FileMaker Cloud | いいえ |
FileMaker Data API | いいえ |
カスタム Web 公開 | いいえ |
起点バージョン
6.0 以前のバージョン
説明
送信する AppleScript コマンドを生成する計算式を作成するか、または [AppleScript 記述] テキスト領域にコマンドを直接入力します。
計算済みのスクリプトおよび FileMaker Pro ファイルのフィールドに保存されたスクリプトでは、スクリプトを実行するたびに AppleScript コマンドがコンパイルされます。[AppleScript 記述] テキスト領域にスクリプトを入力すると、その時点で FileMaker Pro によりスクリプトがコンパイルされ、スクリプトエラーやシステムエラーが検知されます。スクリプトは編集するたびに再コンパイルされます。
メモ
- AppleScript は macOS の機能です。[AppleScript を実行] スクリプトステップが使用されているスクリプトを Windows コンピュータで実行するとこのスクリプトステップは無視されます。(Get (最終エラー) 関数を使用して処理することができるエラーコードが生成されます。)
使用上のヒント
- FileMaker Pro では、[AppleScript を実行] スクリプトステップを使用してスクリプトを実行している FileMaker Pro 自身、または他のコンピュータ上で実行されている FileMaker Pro ソフトウェアに Apple events を送信することができます。FileMaker Pro で Apple events を受信するには、ユーザのアクセス権セットで fmextscriptaccess 拡張アクセス権が有効になっている必要があります。アクセス権セットの拡張アクセス権の編集を参照してください。
- [AppleScript を実行] を使用すると、イメージデータを FileMaker Pro と他のアプリケーションの間で渡すことができます。AppleScript で、オブジェクトフィールドに格納されたイメージを他のアプリケーションや FileMaker Pro オブジェクトフィールドに渡すことができます。
- [AppleScript を実行] スクリプトステップを使用してアプレットやその他のスクリプト記述が可能なアプリケーションと通信することができます。たとえば、サブルーチンを持つ AppleScript アプレットを作成した場合、次のように [AppleScript を実行] コマンドを使用してハンドラを呼び出すことができます:
AppleScript を実行 [「tell application「My Applet」to doMyRoutine ()」]
例 1
現在の macOS ユーザの「書類」フォルダを開きます。
コピー
AppleScript を実行 ["tell application "Finder" (*改行を入力*) activate (改行を入力*) set x to path to documents folder (*改行を入力*) open x (*改行を入力*) end tell"]
例 2
書類ウインドウの境界を指定したサイズに設定します。このスクリプトを実行する前に「書類」フォルダが開いている必要があります。
コピー
AppleScript を実行 ["tell application "Finder" to set bounds of window "書類" to {170, 70, 1000, 600}"]
例 3
AppleScript を計算して実行し、ネットワークプリンタをインストールします。"\" の後の記号は、FileMaker Pro では計算演算子ではなく文字として認識されます。
コピー
AppleScript を実行 ["do shell script \"lpadmin -p " & プリンタ::名称 & " -E -v lpd://"& プリンタ::IP アドレス & " -P /Library/Printers/PPDs/Contents/Resources/" & Substitute (プリンタ::ドライバ名 ; " " ; "\\\ ") & ".gz -D \\\"" & プリンタ::詳細 & "\\\"\""]