adobe incopy cs6 スクリプティングガイド · 2021. 1. 30. · adobe systems incorporated,...

111
ADOBE ® INCOPY ® CS6 ADOBE INCOPY CS6 スクリプティングガイド: APPLESCRIPT

Upload: others

Post on 17-Feb-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

  • ADOBE® INCOPY® CS6

    ADOBE INCOPY CS6 スクリプティングガイド:

    APPLESCRIPT

  • 2012 Adobe Systems Incorporated. All rights reserved.

    Adobe® InCopy® CS6 スクリプティングガイド: AppleScript

    If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement.

    The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.

    Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.

    Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization.

    Adobe, the Adobe logo, Creative Suite, InCopy, InDesign, Illustrator, and Photoshop are registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Microsoft and Windows are registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Apple and Mac OS are trademarks of Apple Computer, Incorporated, registered in the United States and other countries. All other trademarks are the property of their respective owners.

    Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

    ドキュメントの更新ステータス(ドキュメント全体。各章の更新ステータスについては、それぞれの章を参照してください)

    CS6 更新 ドキュメント全体で CS5 から CS6 への変更およびバージョン 7.0 から 8.0 への変更。

  • 目次

    1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7このマニュアルに掲載されているスクリプトの使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    スクリプトの構造について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    詳細情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    InCopy について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    InCopy ファイルと InDesign ファイルの関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8ストーリー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8ページの形状 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9メタデータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9ドキュメントモデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9ユーザーインターフェイスの違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    設計とアーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11スクリプトのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    スクリプトの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    スクリプトパネルの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    AppleScript 言語の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    このマニュアルに掲載されているスクリプトの使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    最初の InCopy スクリプトの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13スクリプトの動作の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    スクリプティング用語と InCopy オブジェクトモデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14スクリプティングの用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14InDesign および InCopy オブジェクトモデルの理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17測定値と位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    「Hello World」への機能の追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3 スクリプティング機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23スクリプトの環境設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    現在のスクリプトの取得 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    スクリプトのバージョン対応 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24ターゲットの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25コンパイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25インタープリターによる実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    do script メソッドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26do script へのパラメーターの渡し方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26do script からの戻り値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    起動時におけるスクリプトの自動実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3

  • 目次 4

    4 テキストと組版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28テキストの入力と読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    ストーリーとテキストフレーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28ストーリーへのテキストの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28テキストの置換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29特殊文字の挿入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    テキストの配置とテキスト読み込み環境設定の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    テキストの書き出しとテキスト書き出し環境設定の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    テキストオブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38テキストの移動とコピー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38テキストオブジェクトと反復処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    テキストのフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41テキストデフォルトの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41フォント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44フォントの適用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45テキストプロパティの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45テキストカラーの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46スタイルの作成と適用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47スタイルの削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49段落スタイルと文字スタイルの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    テキストの検索と変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50検索/変更の環境設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50テキストの検索と変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51フォーマットの検索と変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52grep の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53字形検索の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    自動修正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    脚注 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    5 ユーザーインターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61ダイアログボックスの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    最初の InCopy ダイアログボックスの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    「Hello World」へのユーザーインターフェイスの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    さらに複雑なユーザーインターフェイスの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    ScriptUI の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65ScriptUI を使用したプログレスバーの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66ScriptUI を使用したボタンバーパネルの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    6 メニュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69メニューモデルについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    ローカライゼーションとメニュー名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    スクリプトからのメニューアクションの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    メニューやメニュー項目の追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    メニューとイベント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    スクリプトメニューアクションの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

  • 目次 5

    7 イベント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78イベントスクリプトモデルについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    イベントプロパティとイベントの伝達について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    eventListener の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    「afterNew」eventListener の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    8 注釈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85注釈の入力と読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    ストーリーへの注釈の追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85注釈のテキストの置換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    注釈からテキストへの変換およびテキストから注釈への変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86注釈からテキストへの変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86テキストから注釈への変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    注釈の展開と折りたたみ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87注釈の折りたたみ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87注釈の展開 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    注釈の削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    注釈間の移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87ストーリー内の最初の注釈への移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87ストーリー内の次の注釈への移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88ストーリー内の前の注釈への移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88ストーリー内の最後の注釈への移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    9 変更のトラック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89変更のトラック . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    トラックされた変更への移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89トラックされた変更の適用と取り消し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89トラックされた変更に関する情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    変更のトラックの環境設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    10 アサイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94アサインオブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    アサインファイルを開く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94アサインのプロパティに対する繰り返し処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94アサインパッケージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    アサインのストーリー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95アサインされたストーリーオブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96アサインされたストーリーのプロパティに対する繰り返し処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

    11 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    InCopy での XML スクリプティングの推奨事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    XML 要素のスクリプティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98XML 環境設定の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98XML 読み込み環境設定の指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98XML の読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99XML タグの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100XML タグのロード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100XML タグの保存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

  • 目次 6

    XML 要素の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101XML 要素の移動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101XML 要素の削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101XML 要素の複製 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101XML 構造からのアイテムの削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102XML コメントの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102XML 処理命令の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102XML 属性の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103XML ストーリーの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104XML の書き出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    ストーリーへの XML 要素の追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104XML 要素とテキストとの関連付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105XML 要素へのスタイルの適用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108XML 表の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

  • 1

    概要

    このマニュアルでは、次の作業を行う方法について説明します。

    Adobe® InCopy® のスクリプティング環境の操作

    高度なスクリプティング機能の使用

    InCopy ドキュメントのテキストや書式の操作(テキストの検索と変更など)

    ダイアログボックスなどのユーザーインターフェイスアイテムの作成

    メニューのカスタマイズや追加と、メニューアクションの作成

    ユーザーインターフェイスのイベントに対する応答

    XML の操作(XML 要素の作成、XML の読み込み、レイアウトへの XML 要素の追加など)

    このマニュアルに掲載されているスクリプトの使用方法このマニュアルに掲載されているスクリプトのほとんどは、完全なスクリプトではありません。 このマニュアルの説明内容に関連するスクリプトから特定部分のみを抜粋した、断片的なスクリプトです。 このマニュアルに掲載されているスクリプトの行をコピーして、スクリプトエディタに貼り付けることができますが、スクリプトを実行するには、さらに編集が必要になります。 また、このマニュアルからコピーしたスクリプトには、(マニュアルのレイアウトにより)改行などの文字が含まれている可能性があることに注意してください。このような文字が含まれていると、スクリプトを正常に実行できません。

    このマニュアルに掲載されているすべてのスクリプトの Zip アーカイブは、InCopy のスクリプティングホームページ(http://www.adobe.com/jp/products/incopy/scripting/index.html)で入手できます。 アーカイブをダウンロードして展開したら、該当するスクリプト言語に対応するフォルダーを InCopy フォルダー内の Scripts フォルダーの下にある Scripts Panel フォルダーに移動します。 これで、InCopy のスクリプトパネルからスクリプトを実行できます。

    スクリプトの構造についてサンプルスクリプトはすべて、main、mySetup、mySnippet、myTeardown(ハンドラー)などの共通のテンプレートを使用して記述されています。 この記述方式は、自動化テストとパブリケーションを簡略化するためのものです。通常はスクリプトをこのように構築する必要はありません。 スクリプト作成者の関心を引くと思われるスクリプトの断片は、mySnippet ハンドラー内に記述されています。

    詳細情報InCopy スクリプティングに関するユーザーフォーラム(http://www.adobeforums.com)でも、InCopy スクリプティングに関する情報が入手できます。 このフォーラムでは、質問をしたり、質問に答えたり、新たに作成したスクリプトを別のユーザーと共有したりできます。 このフォーラムでは、多数のサンプルスクリプトが提供されています。

    章の更新ステータスCS6 変更なし

    7

    http://www.adobe.com/jp/products/incopy/scripting/index.htmlhttp://www.adobeforums.com

  • 第 1 章 概要 InCopy について 8

    InCopy についてInCopy は、Adobe InDesign®との統合利用を目的に開発された共同作業用のテキスト編集アプリケーションです。 InCopy では、変更をトラックしたり、編集上の注釈を追加したり、原稿用のスペースに合わせて原稿をはめ込んだりすることができます。 InCopy と InDesign は同じテキスト組版エンジンを使用しているので、レイアウトに原稿をはめ込んだときの組版結果はまったく同じになります。

    InCopy は、編集環境用のアプリケーションです。 InCopy を使用すると、編集ワークフローの関係者は、雑誌や新聞、企業出版物を共同で制作し、テキストの編集とレイアウトの編集を並行して進めることができます。 対象となるユーザーは、編集者、ライター、校正者、原稿の編集者、原稿の加工業者です。

    InCopy は、多くのパネルやパレットを InDesign と共有していますが、独自のユーザーインターフェイス項目も搭載しています。

    InCopy ファイルと InDesign ファイルの関係InCopy ファイルと InDesign ファイルの関係は重要です。これは、出版ワークフローにおける作業の分担は、1 つの素材の大部分を両方のアプリケーションで開いて変更する場合に発生するためです。

    InCopy からの一般的な書き出し方法は、2 種類あります。

    (IDML ベースの)ICML ファイルを書き出すことができます。

    (INX ベースの)INCX ファイルを書き出すことができます。

    InDesign からの一般的な書き出し方法で、InCopy との連携を伴うものは、2 種類あります。

    InCopy ファイルとして InDesign から書き出されたストーリーは、XML ファイルまたは XML ストリームです(この機能は、InDesign に読み込まれる InCopyExport と InCopyWorkflow のプラグインによって提供されます)。 この方法で書き出した InCopy ファイルには、ファイルが非常に小さい、ネットワーク上で高速である、ページの形状が一切含まれていない、XML ファイルまたは XML ストリーム内のデータは InDesign や InCopy だけでなく検索エンジンやデータベースツールなどでも使用できるといった実用的な特徴があります。

    記事内の各グループ(見出し、署名欄、原稿、グラフィック、キャプションなど)を書き出すこともできます。 InDesign および InCopy では、各グループの作成をアサインファイルでサポートしています。アサインファイルは、その他のファイルをトラックする補助ファイルを追加することで、ファイル管理を行います。 実際には、アサインとは、依頼作業(例えば、原稿の編集、レイアウト、原稿の作成など)のために 1 人の人間に割り当てられる一連のファイルです。 アサインに含まれるすべてのストーリーは、InCopy ファイルとして書き出されます。 形状に関する情報やファイルの関係性は、アサインファイルに保持されます。 InDesign では、アサインに書き出すことによって、特定のストーリー一式を書き出すことができます。 InCopy で、アサインに含まれているすべてのストーリーを同時に(1 つの単位として)開きます。 詳しくは、第 10 章「アサイン」を参照してください。

    ストーリー1 つ 1 つの InCopy ファイルは、それぞれ 1 つのストーリーを表します。 複数のストーリーが含まれている InDesign ドキュメントは、書き出し時に、同じ数の InCopy ドキュメントにモジュール化することができます。 このようにして書き出された InDesign ストーリーにはリンクが含まれます。リンクは、InDesign のリンクパネル、または InCopy のアサインパレットのアサインファイルで確認できます。

    InCopy では、InDesign ドキュメントへのリンクが存在していて関連付けが行われていても、リンクは維持されません。 InDesign では、InCopy ファイルとのすべてのリンクは相互リンクとして維持されます。

    ストーリーは、XML で構造化することができます。 つまり、XML データの中に XML データを含めることができます。 この特徴を利用すると、データ構造の設計時に、InCopy 特有のデータ(スタイルなど)が含まれている外部の構造内に、ストーリーの未加工テキストを含めることができます。

  • 第 1 章 概要 InCopy ファイルと InDesign ファイルの関係 9

    InCopy 内では、ICML または INCX 形式で内容を保存したり、(ストーリー内に構造がある場合に)論理構造を XML で書き出すことができます。

    ICML または INCX ファイルには、InCopy データとマークアップテキストの両方を含めることができます。 ファイルを XML データで書き出した場合は、InCopy 特有のデータが取り除かれ、スタイルの設定に関する情報以外のマークアップ記述が残ります。

    ページの形状InCopy ファイルには、ページの形状は含まれません。 形状が必要な場合は、InDesign ドキュメントから取得する必要があります。 InCopy では、必要な場合に InDesign ドキュメントを開いて、デザイン情報や書き出されたストーリーへのリンクを抽出することができます。 InCopy 内でページの形状が必要になる場合、アサインファイルにページの形状を含めて提供することができます。

    メタデータAdobe Extensible Metadata Platform(XMP)は、メタデータを作成、変換、管理するための実用的な方法を提供しています。 InCopy ファイルでは、XMP がサポートされています。

    XMP データを表示するために、InDesign ではファイル/ファイル情報のコマンドが用意されているように、InCopy ではファイル/コンテンツファイル情報のコマンドが用意されています。 システムインテグレーターは、書き出し時に XMP データをそのまま残しておくことも、取り除くこともできます。

    サードパーティーソフトウェア開発者によってストーリーに追加されたメタデータは、InDesign ドキュメントに組み込むときにそのまま保持されます。 追加されたメタデータは、InDesign 内で表示できるだけでなく(リンクパネルのメニューにあるファイル情報ダイアログボックス)、InCopy 内でも表示できます。 さらに、サードパーティーソフトウェア開発者は、メタデータをカスタムユーザーインターフェイスで表示する機能を InDesign に追加することもできます。

    サービスプロバイダーがメタデータの内容を InCopy ファイルに追加するための拡張のポイントがあります。 詳しくは、第 11 章「XML」を参照してください。

    ドキュメントモデルInDesign ドキュメントは、InDesign のすべてのコンテンツの基礎となります。 InCopy で InDesign ドキュメントを使用することもできますが、デフォルトのドキュメントタイプにはなっていません。

    InDesign と InCopy のいずれも、基本のドキュメントは常にデータベースです。ただし、InCopy では、このドキュメントが不完全なドキュメントになることがあります。 InDesign では、通常、主なドキュメントは開いている InDesign ファイルですが、開いている INX または IDML ファイルになることもあります。通常、INX または IDML ファイルは、保存されていない InDesign ドキュメントのように見えます。

    InCopy では、その他の形式もあります。 基本の InDesign ファイル以外にも、新規ドキュメントとそこに読み込まれている InCopy ストーリー(またはプレーンテキストや RTF テキスト)があります。 また、IDML や INX ベースのアサインファイルもあります。これらのアサインファイルには、XML ファイルに保存されている InDesign ファイルの一部が含まれています。 InDesign および InCopy のドキュメントモデルは、必要な基準モデルのプラグインセットに対応しており、時間とともに変更に合わせたバージョンアップが重ねられています。 すべての IDML および INX スクリプティングが InDesign と InCopy の両方で動作する点は重要です。これにより、ドキュメントをアプリケーション間で移動しても、ほとんど同様に表示することが可能になります。

    ユーザーインターフェイスの違いInDesign と InCopy は多くのパネルを共有していますが、InCopy は小型のセットで、画面の上、左、下の境界に補助的なツールバーが表示されます。 また、InCopy の多くのパネルは、このツールバーにドッキングさせることができます。ドッキングさせると、パネルは小型化されますが、常に表示されるようになります。

  • 第 1 章 概要 設計とアーキテクチャ 10

    また、InCopy には複数のビューによるカスタムウィンドウレイアウトが用意されており、メインウィンドウにゲラビュー、ストーリービュー、レイアウトビューの 3 つのタブがあります。 レイアウトビューは InDesign ウィンドウのビューです。 ゲラビューとストーリービューは、単なるストーリーエディターのビューです。ゲラビューでは正確な行末が適用され、ストーリービューでは適用されません。

    設計とアーキテクチャストーリーとファイルの関係

    ICML は、InCopy ストーリーを IDML ベースで表したものです。 これは、InDesign や InCopy の今後の方向性を示しており、特に InDesign 以外でファイルの編集が必要な場合に適した選択です。

    ICML 形式

    各 InCopy ファイルやストリームは、XML 形式で記述されています。 この利点は、InCopy ファイルを簡単に解析できることと、あらゆるテキストエディターで開けることです。

    INCX 形式

    INCX は、InCopy ストーリーを INX ベースで表したものです。 この形式は、ICML ほど読みやすくありませんが、INCX ベースのワークフローを引き続きサポートする場合に使用できます。

    ドキュメントの操作

    InCopy では、ドキュメントの操作(ファイルの操作)のデフォルト実装が提供されています(例えば、新規、保存、別名で保存、複製を保存、開く、閉じる、復帰、デザインを更新など)。 これらすべての InCopy ファイルの操作は、1 つのプラグイン(InCopyFileActions)にソースコード形式で含まれています。 ソフトウェア開発者やシステムインテグレーターが、この部分を独自の実装内容に置き換え、それぞれのワークフローシステムに合わせた相互処理にカスタマイズすることを想定しています。

    XMP メタデータの使用

    ユーザーは、ファイル/コンテンツファイル情報を選択して、メタデータを入力および編集できます。 このメタデータは、InCopy ファイルに保存されます。 ソフトウェア開発者やシステムインテグレーターは、XMP SDK を使用して、独自のメタデータを作成し保存できます。

  • 2

    はじめに

    Adobe® InCopy® には、強力なスクリプティング機能が搭載されています。 他のどの機能(InCopy のユーザーインターフェイスに搭載されているツール、パネル、ダイアログボックスなど)と比べても、スクリプティングほど時間と手間とコストを節約してくれるものはありません。

    このマニュアルでは、すべての InCopy ユーザーを対象に説明を行います。 まず、スクリプトを初めて作成する方のために、スクリプトの基本事項について説明します。 次に、他のアプリケーション向けにスクリプトを作成した経験がある方のために、InCopy スクリプティングの特徴について説明します。 さらに、スクリプトを InCopy にインストールして実行する方法や、InCopy スクリプティングで実現できることと実現できないこと、スクリプトの作成に必要なソフトウェアについても説明します。

    InCopy のユーザーインターフェイスで行える操作のほとんどは、スクリプトを使用して実行することができます。 テキストの入力やフォーマット、テキストの検索や変更、注釈の追加、ドキュメントページの印刷や書き出しなど、 ドキュメントやその内容に変更を加えるアクションは、すべてスクリプトで実行できます。 また、ユーザーインターフェイスでは行えない高度な処理も実行できます。

    スクリプトを使用すれば、メニューの作成、メニュー項目の追加、ダイアログボックスやパネルの作成と表示、ユーザーインターフェイスで行われた選択への応答などが行えます。 また、テキストファイルの読み取りや書き込み、XML データの解析、他のアプリケーションとの通信なども行えます。 スクリプトは、カーソル位置でのタブストップの設定のような単純な処理から、非常に複雑な処理まで、様々な用途に活用できます。 最初は、1 つの処理を実行する簡単なスクリプトから始めましょう。慣れてくると、パブリッシングワークフロー全体を自動化するスクリプトを作成できるようになります。

    ワークスペースの設定やキーボードショートカットの定義など、スクリプトで実行できない操作がいくつかありますが、その多くはユーザーインターフェイスに関係する操作です。 また、InCopy ドキュメントに新しい種類のオブジェクトを追加したり、InCopy の基本機能を新たに追加する(例えば、新しいテキストコンポジションエンジンを追加する)こともできません。 このような拡張を行いたい場合は、InCopy ソフトウェア開発キット(SDK)を使用して、C++ でコンパイル済みのプラグインを作成する必要があります。

    InCopy は、主に Adobe InDesign® ドキュメントの製作工程の一部として使用されます。したがって、このマニュアルでは、InCopy だけでなく InDesign についても触れています。 また、InDesign と InCopy のスクリプティングは非常に似ています。 InDesign スクリプティングについて詳しくは、『Adobe InDesign スクリプティングチュートリアル』および『Adobe InDesign スクリプティングガイド』を参照してください。

    スクリプトのインストールInCopy にスクリプトをインストールするには、InCopy アプリケーションフォルダー内の Scripts フォルダーにある Scripts Panel フォルダーに、スクリプトファイルを保存します。

    または、ユーザー環境設定フォルダーの Scripts Panel フォルダーにスクリプトを保存します。 ユーザー環境設定フォルダーは、次の場所にあります。 はユーザー名を表し、~(チルド)はシステムボリュームを表します。

    Mac OS®: ユーザ //ライブラリ /Preferences/Adobe InCopy/ Version 8.0-J/ja_JP/Scripts/Scripts Panel

    このフォルダーに保存したスクリプトは、InCopy のスクリプトパネルに表示されます(このパネルを表示するには、ウィンドウ/スクリプトを選択します)。

    章の更新ステータスCS6 更新 CS5 に関する言及を削除または変更。

    11

  • 第 2 章 はじめに スクリプトの実行 12

    Scripts Panel フォルダーには、スクリプトやスクリプトが保存されているフォルダーのエイリアスやショートカットを保存することもできます。これらのエイリアスやショートカットも、スクリプトパネルに表示されます。

    スクリプトの実行スクリプトを実行するには、スクリプトパネルを表示し(ウィンドウ/スクリプトを選択し)、スクリプトパネルに表示されているスクリプト名をダブルクリックします。 多くの場合、何らかのユーザーインターフェイス(ダイアログボックスやパネルなど)が表示され、必要に応じて警告が表示されます。

    スクリプトパネルの使用スクリプトパネルでは、コンパイル済みまたは未コンパイルの AppleScript(拡張子が .spt、.as、.applescript のファイル)、JavaScript(拡張子が .js または .jsx のファイル)、VBScript(拡張子が .vbs のファイル)、実行可能ファイルを実行できます。

    スクリプトパネルに表示されているスクリプトを編集するには、Option キー(Mac OS)または Alt キー(Windows)を押しながらスクリプト名をダブルクリックします。 スクリプトのファイルタイプに対応するエディターで、そのスクリプトファイルが開かれます。

    スクリプトパネルに表示されているスクリプトの保存フォルダーを開くには、Command キー(Mac OS)または Ctrl キーと Shift キー(Windows)を押しながらスクリプト名をダブルクリックします。 または、スクリプトパネルのメニューから「Finder で表示」(Mac OS)または「エクスプローラーで表示」(Windows)を選択します。 そのスクリプトが保存されているフォルダーが、Finder(Mac OS)またはエクスプローラー(Windows)で表示されます。

    スクリプトは一連のアクションとして実行されます。つまり、編集メニューから「取り消し」を選択して、スクリプトで行った各変更を取り消すことができます。 スクリプトのトラブルシューティングを行う場合は、これによって問題のアクションが見つけやすくなります。

    スクリプトにキーボードショートカットを追加するには、編集/キーボードショートカットを選択し、セットメニューから編集可能なショートカットセットを選択し、機能エリアメニューから「スクリプト」を選択します。 スクリプトパネル内のスクリプトが一覧表示されます。 スクリプトを選択し、InCopy の通常の機能と同じようにキーボードショートカットを割り当てます。

    AppleScript 言語の詳細AppleScript バージョン 1.6 またはそれ以降がインストールされているシステムで、AppleScript のスクリプトエディタを使用する必要があります。 AppleScript は、すべての Mac OS® に付属しています。また、Apple 社の Web サイトから無償でダウンロードすることもできます。 Mac OS には Apple 社のスクリプトエディタが付属しています。スクリプトエディタには、次のメニューからアクセスできます。

    Mac OSX 10.5 アプリケーション/ AppleScript/スクリプトエディタ

    Mac OSX 10.6 アプリケーション/ユーティリティ/ AppleScript エディタ

    また、Script Debugger(Late Night Software 社の製品。http://www.latenightsw.com)などのサードパーティーのスクリプトエディタを使用することもできます。

    http://www.latenightsw.com

  • 第 2 章 はじめに このマニュアルに掲載されているスクリプトの使用方法 13

    このマニュアルに掲載されているスクリプトの使用方法このマニュアルに記載されているスクリプトを使用するには、チュートリアルスクリプトファイルを開くか(ファイル名は各スクリプトの前に記載されています)、この章に記載されているコードをコピーします。

    スクリプトファイルは、InCopyCS6ScriptingGuideScripts.zip という Zip アーカイブに格納されています。 アーカイブを圧縮解除したら、目的のスクリプト言語(AppleScript、JavaScript または VBScript)で作成されたスクリプトが保存されているフォルダーを、Scripts Panel フォルダーに移動します。 これらのスクリプトファイルを利用するほうが、スクリプトを直接入力したり、このマニュアルからスクリプトをコピーして貼り付けるよりも簡単です。

    スクリプトアーカイブを入手できない場合、この章に掲載されているスクリプトコードを入力することもできます。 次に入力方法を示します。

    1. この Adobe PDF 形式のマニュアルからスクリプトをコピーして、Apple 社のスクリプトエディタに貼り付けます。

    2. Scripts Panel フォルダーに、プレーンテキストファイルとしてスクリプトを保存します(11 ページの「スクリプトのインストール」を参照)。ファイル拡張子は .applescript を使用します。

    3. ウィンドウ/スクリプトを選択して、スクリプトパネルを表示します。

    4. スクリプトパネルでスクリプト名をダブルクリックして、スクリプトを実行します。

    手入力でスクリプトを作成する方法は、この章に掲載されているスクリプトに対してのみ有効です。 他の章に掲載されているスクリプトは、断片的なスクリプトです。完全なスクリプトではありません。 他の章のスクリプトを実行するには、スクリプトアーカイブのスクリプトを使用する必要があります。

    注意 : このマニュアルからスクリプトをコピーして貼り付ける場合は、レイアウトの都合で途中で改行されている文があるとエラーになる点に注意してください。 このようなエラーを発見するのは難しいことが多いので、Zip アーカイブのスクリプトを使用することをお勧めします。

    最初の InCopy スクリプトの作成では、InCopy スクリプトを実際に作成してみましょう。ここでは、新規ドキュメントを作成し、テキストフレームを追加し、そのテキストフレームにテキストを入力するスクリプトを作成します。 非常に簡単な作業のように思えますが、このスクリプトでは次の処理を行います。

    InCopy との通信を確立する。

    新規ドキュメントを作成する。

    ストーリーにテキストを追加する。

    スクリプトエディタアプリケーションを起動します(AppleScript フォルダーの中の Applications フォルダーにあります)。 次のスクリプトを入力します(または、HelloWorld.applescript というチュートリアルスクリプトを開きます)。

    tell application "Adobe InCopy CS6" set myDocument to make document set myStory to story 1 of myDocument tell myStory

    set contents to "Hello World!" end tell

    end tell

    Scripts Panel フォルダーに、テキストファイルとしてスクリプトを保存します(11 ページの「スクリプトのインストール」を参照)。ファイル拡張子は .applescript を使用します。 スクリプトを実行するには、スクリプトパネルでスクリプト名をダブルクリックします。または、スクリプトエディタウィンドウで「実行」をクリックします。

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 14

    スクリプトの動作の説明ここでは、Hello World スクリプトの動作について、順を追って説明します。

    1. InCopy アプリケーションオブジェクトとの通信を確立します。

    tell application "Adobe InCopy CS6"

    2. 新規ドキュメントを作成して、その参照を取得します。

    Set myDocument to make document

    3. ドキュメントの最初のストーリーへの参照を取得します(独立したドキュメントには必ずストーリーが含まれています)。

    set myStory to story 1 of myDocument tell myStory

    4. コンテンツのプロパティに文字列を設定して、ストーリーにテキストを追加します。

    set contents of myStory to "Hello World!"

    スクリプティング用語と InCopy オブジェクトモデルここでは、次のスクリプトに進む前に、スクリプト言語に関する一般的な用語と、InCopy スクリプティングに固有の用語について説明します。

    スクリプティングの用語まず、スクリプティングに関する一般的な用語や概念について説明します。

    コメント

    コメントを使用して、スクリプトに説明用のテキストを追加することができます。 コメントはスクリプトの実行時には無視され、エラーが発生しないようになっています。 スクリプトの処理について、自分や他人のために注釈を残しておきたい場合は、コメントを使用すると便利です。 このマニュアルのチュートリアルスクリプトでも、コメントを使用しています。

    AppleScript でコメントを入力するには、コメントの左に「--」と入力します。または、「(*」と「*)」でコメントを囲みます。 次に例を示します。

    --this is a comment (* and so is this *)

    InCopy スクリプティングで使用される値の例としては、テキストの文字のポイントサイズ、注釈の内容、ドキュメントのファイル名などがあります。 値とは、スクリプトで処理を行う際に使用するデータのことです。

    値にどのような種類のデータが含まれるかは、値の型によって定義されます。 例えば、単語が格納されている値の型は文字列で、段落の行送りの値の型は数値です。 通常、スクリプトで使用される値は数値かテキストです。 InCopy スクリプティングで最もよく使用される値の型を、次の表に示します。

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 15

    値の型の変換

    AppleScript には、変数の値の型を変換するための方法が用意されています。 最もよく行われるのは、数値から文字列への変換(テキストの中に挿入したり、ダイアログボックスに表示したりする場合に行います)と、文字列から数値への変換(ポイントサイズやページ位置を設定する場合に行います)の 2 つです。

    --To convert from a number to a string: set myNumber to 2 set myString to (myNumber as string) --To convert from a string to a number: set myString to "2" set myNumber to (myString as integer) --if your string contains a decimal value, use "as real" rather than "as integer"

    変数

    変数は、値を格納する入れ物のようなものです。 「変数」という名前が表しているように、この入れ物に格納する値は変更することができます。 変数には数値が格納されることもありますし、テキスト文字列や、InCopy オブジェクトへの参照が格納されることもあります。 それぞれの変数は名前を持っており、変数を参照するときにはこの名前を使用します。 変数に値を格納するには、その変数にデータを割り当てます。

    InCopy のすべてのサンプルスクリプトやチュートリアルスクリプトでは、変数名はすべて my で始まっています。 このようにすることで、スクリプトで独自に作成した変数と、スクリプト言語の予約語を簡単に区別できるようにしています。

    変数への値の割り当て

    変数に値や文字列を割り当てるのは簡単です。その方法を次の例に示します。

    set myNumber to 10 set myString to "Hello, World!" set myTextFrame to make text frame at page 1 of myDocument

    変数には、意味のある名前を付けるようにしてください。firstPage や corporateLogo などは良い例です。 x や c などは悪い例です。 意味のある名前を使えば、スクリプトが読みやすくなります。 長い名前を付けても、スクリプトの実行速度に悪影響を与えることはありません。

    変数は、1 つの単語である必要があります。ただし、読みやすくするために途中で大文字を使用したり(myFirstPage など)、アンダースコアを使用したり(my_first_page など)することができます。 変数名の最初の文字に数字を使用することはできません。また、変数名に句読点や引用符を含めることもできません。

    値の型 説明 例

    Boolean 真(True)か偽(False)かを表す論理値。

    True

    Integer 整数(小数点が付かない数)。 正の整数と負の整数があります。

    14

    fixed または real 精度の高い数値。小数点が含まれることがあります。

    13.9972

    String 一連のテキスト文字。 文字列は引用符で囲みます。

    "これは文字列です "

    List 値のリスト(この値はどの型であってもかまいません)。

    {"0p0", "0p0", "16p4", "20p6"}

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 16

    配列変数

    AppleScript では、配列のことをリストと呼びます。 リストには、一連の値を格納することができます。

    set myArray to {1, 2, 3, 4}

    配列に含まれている要素を参照するには、その要素のインデックスを参照します。AppleScript では、配列の最初の要素は要素 1 です。

    set myFirstArrayItem to item 1 of myArray

    次の例のように、配列の中にさらに別の配列を含めることができます。

    set myArray to {{0, 0}, {72, 72}}

    変数の値の型を調べる

    オブジェクトの値の型に基づいて判断を行いたい場合があります。 例えば、選択されたテキストに対して処理を実行するスクリプトでは、何も選択されていない場合には処理を停止する必要があります。

    -- Given a variable of unknown type, "myMysteryVariable"... set myType to class of myMysteryVariable --myType will be an AppleScript type (e.g., rectangle)

    演算子

    演算子は、変数や値を使用して計算(加算、減算、乗算、除算)を実行し、値を返します。 例えば、

    MyWidth/2

    では、変数 myWidth に格納されている値の半分の値が返されます。

    また、演算子を使用して比較(等しい(=)、等しくない()、より大きい(>)、より小さい( myHeight

    では、myWidth が myHeight よりも大きい場合には true(または 1)が、そうでない場合には false(0)が返されます。

    AppleScript では、アンパサンド(&)を使用して 2 つの文字列を連結(結合)させることができます。 例えば、

    "Pride " & "and Prejudice"

    とすると、次の文字列が返されます。

    "Pride and Prejudice"

    条件文

    「もし選択されているテキストのサイズが 12 ポイントなら、そのポイントサイズを 10 ポイントに設定しなさい」 のような命令のことを、条件文と呼びます。 条件文は、何らかの判断を行うときに使用します。ある条件(選択されているテキストのカラー、ドキュメントのページ数、日付など)を評価して、その結果に従って処理を行うことができます。 条件文は、ほとんどの場合 if で始まります。

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 17

    制御構造

    InCopy に人間の言葉を理解する能力があったら、「今から言う手順を 20 回繰り返しなさい」というような命令をしていたことでしょう。 スクリプティングの用語では、このような命令のことを制御構造と呼びます。 制御構造を使用すると、反復作業、つまりループ処理を行うことができます。 ループの考えは、それぞれループ内で変化があったかなかったかに関わらず、特定の条件を満たすまで、ある動作を何度も何度も繰り返すことです。 制御構造は通常、repeat で始まります。

    ハンドラー

    ハンドラーとは、スクリプトの中から参照することができるスクリプティングモジュールのことです。 ハンドラーに値(または一連の値)を渡して、返される値を取得する、というのが一般的な使い方です。 ハンドラーは、何か特別なコードで構成されているわけではありません。これらは、スクリプトの中で同じコードを何度も入力する手間を省くためのものです。 ハンドラーは on で始まります。

    InDesign および InCopy オブジェクトモデルの理解InCopy と InDesign ドキュメントの関係を考えるとき、おそらくプログラムと、そのコンポーネントの関係を考えるでしょう。 同様に、段落はテキストフレームの中にあり、テキストフレームはページの中にあり、 ページはスプレッドの中にあり、いくつかのスプレッドが集まって 1 つのドキュメントを構成していることもご存知だと思います。 ドキュメントにはカラー、スタイル、レイヤー、マスタースプレッドなども含まれています。 ドキュメントにオブジェクトを作成するユーザーは、それらの間に一定の序列があることを直感的に理解しています。

    InDesign や InCopy も、ドキュメントのコンテンツを同じような考え方で「認識」しています。ドキュメントの中にはページが含まれており、ページの中にはページアイテム(テキストフレーム、長方形、楕円形など)が含まれています。 テキストフレームの中には文字、単語、段落、アンカーフレームなどが含まれています。グラフィックフレームの中には画像、EPS、PDF などが含まれています。グループの中には他のページアイテムが含まれています。 これらはすべて、InDesign パブリケーションを構成するオブジェクトです。InDesign および InCopy スクリプトでは、このオブジェクトに対して何らかの操作を行います。

    パブリケーションの中にあるオブジェクトは、一定の序列に従って編成されています。 例えば、段落はストーリーの中にあり、ストーリーはドキュメントの中にあり、ドキュメントは InCopy アプリケーションオブジェクトの中にあります。 オブジェクトモデルや階層という言葉は、このような構造のことを指しています。 目的のオブジェクトにアクセスするためには、このオブジェクトモデルを理解している必要があります。 InCopy の構造を理解することが、InCopy スクリプティングをマスターする秘訣であると言えます。

    オブジェクトにはプロパティ(属性)があります。 例えば、テキストオブジェクトには、テキストの書式設定に使用するフォント、ポイントサイズ、テキストに適用する行送りなどのプロパティがあります。

    プロパティには値が設定されます。例えば、テキストのポイントサイズには、ポイント数を表す数値や、自動行送りを表す「Auto」などの文字列が設定されます。 また、テキストの塗りカラーには、1 つのカラー、グラデーション、混合インキ、スウォッチなどが設定されます。

    プロパティには、読み書き可能なものと読み取り専用のものがあります。 読み書き可能なプロパティは、別の値に変更することができますが、読み取り専用のプロパティは変更できません。

    また、オブジェクトにはメソッドが用意されています。 これは、そのオブジェクトが実行できるアクションを表しており、スクリプトの中で「動詞」として使用されます。 例えば、ドキュメントオブジェクトには、印刷、書き出し、保存などを行うメソッドが用意されています。

    メソッドはパラメーターを取ります。パラメーターは、メソッドの動作を定義するための値です。 例えば、open メソッドは、開くファイルを定義するためのパラメーターを取ります。

    InCopy オブジェクトモデルの概要を次のブロック図に示します。 この図は、各種のオブジェクトの関係を理解するための概念的なフレームワークなので、InCopy スクリプティングで利用できるオブジェクトを完全に網羅したものではありません。

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 18

    この図に示されている各オブジェクトについて、次の表で説明します。

    用語 表しているもの

    Application InCopy。

    Application defaults

    アプリケーションのデフォルト設定。カラー、段落スタイル、オブジェクトスタイルなど。 アプリケーションのデフォルト設定はすべての新規ドキュメントに影響を与えます。

    Application events

    ユーザーやスクリプトがアプリケーションを操作したときに発生します。 例えば、ドキュメントのオープン、クローズ、保存を行ったときや、メニュー項目を選択したときなどにイベントが生成されます。 イベントに反応してスクリプトを実行させることができます。

    Application menus

    InCopy のユーザーインターフェイスに表示されるメニュー、サブメニュー、コンテキストメニュー。 メニューの選択にスクリプトを関連付けたり、スクリプトからメニューアクションを実行したりできます。

    Application methods

    アプリケーションが実行できるアクション。テキストの検索と変更、選択項目のコピー、新規ドキュメントの作成、ライブラリのオープンなど。

    Application preferences

    テキストの環境設定、PDF 書き出しの環境設定、ドキュメントの環境設定など。 環境設定オブジェクトの多くはドキュメントレベルにも存在しています。 ユーザーインターフェイスの場合と同じように、アプリケーションの環境設定は新規ドキュメントに適用されます。ドキュメントの環境設定は特定のドキュメントの設定を変更します。

    Application properties

    アプリケーションのプロパティ。アプリケーションのフルパス、アプリケーションのロケール、ユーザー名など。

    Books 開かれているブックのコレクション。

    Document InCopy ドキュメント。

    documents

    libraries

    application defaults

    application

    books

    application preferences

    application events

    application menus

    application methods

    application properties

    a document

    document defaults

    document preferences

    document events

    document methods

    document properties

    pages or spreads

    page

    page itemsstories

    text objects

    document elements

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 19

    InCopy オブジェクトモデルの参照

    InCopy オブジェクトモデルは、スクリプト編集アプリケーションの中で参照することができます。 オブジェクトとそのプロパティやメソッドに関する参照情報は、すべてモデルに格納されており、スクリプト編集アプリケーションで参照することができます。

    InCopy の AppleScript 用語説明を参照するには:

    1. InCopy を起動します。

    2. スクリプトエディタを起動します。

    3. スクリプトエディタで、ファイル/用語説明を開くを選択します。 スクリプト可能なアプリケーションのリストが表示されます。

    Document defaults

    ドキュメントのデフォルト設定。デフォルトのカラー、段落スタイル、デフォルトのテキスト書式など。

    Document elements

    ドキュメントのストーリー、読み込んだグラフィック、ページなど。 ページやストーリーもドキュメント要素ですが、これらは他のオブジェクトを格納するコンテナとして特に重要な要素なので、この表の前にある図では独立して示されています。ドキュメント要素には、このほかにも、長方形、楕円形、グループ、XML 要素などの、読み込んだり作成したりできるあらゆる種類のオブジェクトが含まれます。

    Document events

    ドキュメントレベルで発生するイベント。テキストの読み込みなど。 この表の「Application events」を参照してください。

    Document methods

    ドキュメントが実行できるアクション。ドキュメントのクローズ、印刷、書き出しなど。

    Document preferences

    ドキュメントの環境設定。ガイド、表示、ドキュメントの環境設定など。

    Document properties

    ドキュメントのファイル名、ページ数、原点の位置など。

    Documents 開かれているドキュメントのコレクション。

    Libraries 開かれているライブラリのコレクション。

    Page InCopy ドキュメント内の 1 つのページ。

    Page item ページ上に作成または配置できる任意のオブジェクト。 ページアイテムには、テキストフレーム、長方形、グラフィックの線、グループなど多くの種類があります。

    Pages or spreads

    InCopy ドキュメント内のページまたはスプレッド。

    Stories InCopy ドキュメント内のテキスト。

    Text objects InCopy ストーリーには、文字、単語、線、段落、テキスト列などのテキストオブジェクトが含まれます。

    用語 表しているもの

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 20

    4. InCopy アプリケーションがこの中にある場合はそれを選び「OK」をクリックします。この中にない場合は、ここでブラウズボタンをクリックすると、標準のオープンダイアログボックスが表示されるので、InCopy アプリケーションを選択して、「選択」をクリックします。 InCopy のスイート(関連するオブジェクトのコレクション)のリストが表示されます。

    5. スイートを選択すると、そのスイートに含まれるオブジェクトとメソッド(コマンド)が表示されます。オブジェクトを選択すると、そのオブジェクトのプロパティが表示されます。

  • 第 2 章 はじめに スクリプティング用語と InCopy オブジェクトモデル 21

    測定値と位置InCopy では、どのアイテムやオブジェクトも、設定されている測定値に従ってページ上に配置されます。 InCopy の座標系の仕組みと、使用される測定単位について理解しておくと、スクリプトを書く際にその知識が役に立ちます。

    座標

    他のページレイアウトプログラムやドロープログラムと同じように、InCopy でも、単純な 2 次元座標を使用してページやスプレッド上のオブジェクトの位置を設定します。 座標は 2 つの値の組で表しますが、そのうちの水平成分を x と呼び、垂直成分を y と呼びます。 選択ツールでオブジェクトを選択すると、変形パネルやコントロールパネルにこの座標が表示されます。 座標は、InCopy のユーザーインターフェイスと同様に、定規の現在の原点からの相対位置で測定されます。

    InCopy が採用している座標と、幾何学の教科書で使われる座標には、1 つだけ違うところがあります。 それは、InCopy の座標では、垂直軸(y 軸)の原点より下が正の数であり、原点より上が負の数である、ということです。

    測定単位

    InCopy に測定値を渡すときには、数値(14.65 など)と測定文字列(「1p7.1」など)のどちらの形でも渡すことができます。 数値を渡したときには、パブリケーションの現在の測定単位が使用されます。測定文字列(後述の表を参照)を渡したときには、その文字列で指定した測定単位が使用されます。

    InCopy から返される測定値には、パブリケーションの現在の測定単位が使用されます。 この InCopy から返される測定値は、変形パネルに表示される測定値と表記の仕方が違うことがあります。 例えば、現在の測定単位系がパイカである場合、端数のある値はパイカとポイントの形(変形パネルでの表記法)ではなく、小数の形で返されます。 例えば、「1p6」は「1.5」と返されます。 このようにしている理由は、スクリプティングシステムで測定文字列を使用して算術演算を行おうとすると問題が生じるからです。 例えば、「13p4」に「0p3.5」を足そうとするとスクリプトエラーが発生します。13.333 に .2916(どちらもパイカに換算した値)を足す場合にはエラーは発生しません。

    スクリプトで特定の測定値の加減乗除を行う場合には、スクリプトの始めの部分で測定単位を設定します。 そして、スクリプトの終わりの部分で、スクリプトを実行する前の測定単位に戻します。 または、多くのサンプルスクリプトで行っているように、測定単位をオーバーライドすることができます。 これを行うには、特別な文字が含まれた文字列を使用します。次に例を示します。

    オーバーライド 意味 例

    c シセロ(必要に応じて c の後にディド値を追加できます) 1.4 c

    cm センチメートル .635 cm

    i(または in) インチ .25 i

    mm ミリメートル 6.35 mm

    p パイカ(必要に応じて p の後にポイント値を追加できます) 1p6

    pt ポイント 18 pt

  • 第 2 章 はじめに 「Hello World」への機能の追加 22

    「Hello World」への機能の追加次に、最初のスクリプトで作成した「Hello World」パブリケーションに変更を加える新しいスクリプトを作成します。 この 2 番目のスクリプトでは、次の処理を行います。

    アクティブなドキュメントを取得する。

    最初のストーリー内のテキストのフォーマットを変更する。

    注釈を追加する。

    ImprovedHelloWorld チュートリアルスクリプトを開くか、または次の手順に従ってスクリプトを作成します。

    1. 作成したドキュメントが開いていることを確認します。 ドキュメントを保存せずに閉じてしまった場合は、HelloWorld.applescript スクリプトをもう一度実行すればドキュメントが新たに作成されます。

    2. スクリプトエディタでファイル/新規スクリプトを選択して、新しいスクリプトを作成します。

    3. 次のコードを入力します。

    tell application "Adobe InCopy CS6" --Get a reference to a font. try

    --Enter the name of a font on your system, if necessary. set myFont to font "Arial"

    end try --Get the active document and assign the result to the variable "myDocument" set myDocument to document 1 tell story 1 of myDocument

    --Change the font, size, and paragraph alignment. try

    set applied font to myFont end try set point size to 72 set justification to center align --Enter the note at the last insertion point of the story. tell insertion point -1

    set myNote to make note set contents of text 1 of myNote to "This is a note."

    end tell end tell

    end tell

    4. スクリプトを保存します。

    スクリプトパネルでスクリプト名をダブルクリックして、新しいスクリプトを実行します。

  • 3

    スクリプティング機能

    この章では、InCopy のスクリプティング環境に関連するスクリプティングテクニックを紹介します。 InCopy のスクリプトモデルを構成するオブジェクトのほとんどは、アプリケーションのデフォルトやドキュメントを操作するためのオブジェクトですが、 この章ではまず、スクリプトそのものを制御する方法について説明します。

    この章の内容は、次のとおりです。

    script preferences オブジェクトとそのプロパティ

    実行中のスクリプトへの参照の取得

    以前のバージョンのスクリプトオブジェクトモデルに基づいたスクリプトの実行

    do script メソッドを使用したスクリプトの実行

    InCopy の起動時におけるスクリプトの自動実行

    ここでは、読者が第 2 章「はじめに」を既に読んでおり、該当するスクリプト言語で InCopy のスクリプトを作成、インストール、実行する方法を理解しているものとして説明を行います。

    スクリプトの環境設定script preferences オブジェクトには、InCopy でのスクリプトの実行方法に関連するオブジェクトやプロパティが用意されています。 次の表に、script preferences オブジェクトの各プロパティの詳細を示します。

    章の更新ステータスCS6 編集 24 ページの「スクリプトのバージョン対応」および 3 つの副節を、更新、修正および明確化しました。

    プロパティ 説明

    enable redraw スクリプトパネルからスクリプトを実行している最中の画面の再描画をオンまたはオフにします。

    scripts folder Scripts フォルダーへのパス。

    scripts list 使用可能なスクリプトのリスト。 このプロパティは、次に示すような配列の配列を返します。

    [[fileName, filePath], ]

    fileName はスクリプトファイルの名前を表し、filePath はスクリプトへのフルパスを表します。 この機能を使用すれば、目的のスクリプトがインストールされているどうかを確認できます。

    23

  • 第 3 章 スクリプティング機能 現在のスクリプトの取得 24

    現在のスクリプトの取得現在のスクリプトへの参照を取得するには、アプリケーションオブジェクトの active script プロパティを使用します。 このプロパティは、現在のスクリプトが保存されている場所を基準にしてファイルやフォルダーを検索する場合に役立ちます。次のスクリプトにその例を示します(チュートリアルスクリプトの ActiveScript より)。

    tell application "Adobe InCopy CS6" set myScript to active script display dialog ("The current script is: " & myScript) tell application "Finder"

    set myFile to file myScript set myParentFolder to container of myFile

    end tell display dialog ("The folder containing the active script is: " & myParentFolder)

    end tell

    スクリプトエディタでスクリプトをデバッグしている場合は、active script プロパティを取得しようとするとエラーが発生します。 active script プロパティで返されるのは、スクリプトパレットから実行したスクリプトのみです。

    スクリプトのバージョン対応InCopy では、以前のバージョンの InCopy スクリプトオブジェクトモデルに基づいて作成されたスクリプトを実行できます。 新しいバージョンの InCopy で古いスクリプトを実行する場合は、次の点に注意する必要があります。

    ターゲットの設定 - スクリプトを実行する InCopy のバージョン(現在のバージョン)をターゲットに設定する必要があります。 25 ページの「ターゲットの設定」に説明するとおり、ターゲットの設定方法は言語によって異なります。

    コンパイル - この段階では、スクリプトで使用されている名前が InCopy で認識できるスクリプト ID にマッピングされます。 25 ページの「コンパイル」に説明するとおり、コンパイルの方法は言語によって異なります。

    インタープリターによる実行 - この段階では、スクリプト ID が InCopy の適切なハンドラーに関連付けられます。これにより InCopy は、以前のバージョンのスクリプトオブジェクトモデルに基づいて作成されたスクリプトも正しく解釈できるようになります。 そのためには、スクリプトでアプリケーションのス