1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スクリプトでinDesign CC の特定のテキストエリアに文字を挿入する

Last updated at Posted at 2024-05-18

環境

ステップ

Step1

inDesignで新規ファイルを作成、テキストエリアを作成、テキストエリアにスクリプトラベルを登録する。
スクリプトラベルは例として input-hogeとしておく。

スクリプトラベルの設定方法↓
テキストエリアを選択した状態で、
ヘッダーメニュー ウインドウ > ユーティリティー > スクリプトラベル

スクリーンショット 0006-05-18 15.45.44.png

Step2

Visual Studio Codeなどでスクリプトを組む
javascriptのコードの場合ES3(1999年12月の仕様)までしか使えません。

index.jsx(index.js)
(function(){
  // 今開いているinDesignドキュメントを取得
  var doc = app.activeDocument;
  
  // 1ページ目を取得
  var targetPage = doc.pages.item(0);
  
  // ページに含まれているテキストエリアのリストを取得する
  var textFrames = targetPage.textFrames;
  
  // findByIdのような関数がないため、テキストエリアのスクリプトラベル名をkeyとした配列を生成する
  var formatTextFrames = {};
  var maxTextFrames = textFrames.length;
  for (var j = 0; j < maxTextFrames; j++) {
    formatTextFrames[textFrames[j].label] = textFrames[j];
  }
  
  // テキストエリアのリストから目的のものを探して文字を挿入する
  var textFrameInputHoge = formatTextFrames['input-hoge'];
  textFrameInputHoge.contents = '新しく挿入する文言';
})();

Step3

実行する。
今回はVisual Studio Codeのデバッグプライグインplugin: ExtendScript Debuggerを使って実行した。
※ ExtendScript DebuggerプラグインはMacの場合,M1系のチップに対応していないため、Visual Studio CodeをRosettaで起動しておく必要がある。

スクリーンショット 0006-05-18 15.39.51.png

Step4

inDesignの文言が切り替わっている
スクリーンショット 0006-05-18 15.47.37.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?