見出し画像

Adobe Illustrator の文字スタイル、段落スタイル、グラフィックスタイルにショートカットを割り当てる

Adobe Illustratorで文字スタイル・段落スタイル・グラフィックスタイルを適用するとき、各スタイルパレットのスタイル名をマウスでクリックするのが視力の低下で難しくなってきたため、Keyboard Maestroでショートカットキーを割り当てるためのスクリプトです。(ChatGPTの力を借りました)
Keyboard Maestroへの実装には、したたか企画さんの「Keyboard Maestro用追加アクション(プラグイン)MaestroPack 」の中の「AI Execute Jsx Text」 を使用しています。
最近話題の左手デバイス「Elgato Stream Deck」の「KM Link」を使えば、作成したマクロ名での割り当てが可能になり、ショートカットキーを割り当てなくても実行できるようになり、キー割り当てに悩む手間が省けます。しかしマクロ名を割り当てる際にスピニングホイールが回り、フリーズすることがしばしば発生するため、現在は様子を見ている段階です。ショートカットキーを割り当てれば問題なく使えます。


1. Adobe Illustrator で文字スタイルを適用するスクリプト

「見出し」という文字スタイルを適用するJavaScriptです。注意点として、スタイル名にカタカナの濁音や半濁音を含めるとエラーが発生します。ただし、半角カタカナは問題なく使用できるようです。

//文字スタイル適用スクリプト by ChatGPT

// 選択したオブジェクトを取得
var selection = app.activeDocument.selection;

// 適用したい文字スタイルの名前
var characterStyleName = "見出し"; // 適用したい文字スタイル名

// ドキュメントの文字スタイルリストから指定された名前のスタイルを取得します
var characterStyle = null;
for (var i = 0; i < app.activeDocument.characterStyles.length; i++) {
  if (app.activeDocument.characterStyles[i].name === characterStyleName) {
    characterStyle = app.activeDocument.characterStyles[i];
    break;
  }
}

if (characterStyle) {
  // 文字スタイルが見つかった場合、選択されたテキストオブジェクトに文字スタイルを適用
  for (var i = 0; i < selection.length; i++) {
    var selectedItem = selection[i];
    if (selectedItem.typename === "TextFrame") {
      // テキストフレームのすべての文字範囲にスタイルを適用
      var textRange = selectedItem.textRange;
      characterStyle.applyTo(textRange);
    }
  }
} else {
  // 文字スタイルが見つからなかった場合、エラーメッセージを表示
  alert("指定された文字スタイルが見つかりませんでした。");
}

※Adobe Illustrator 2024 にて動作確認済みです。

2. Adobe Illustrator で段落スタイルを適用するスクリプト

次は、段落スタイルを適用スクリプトです。
以下は「左揃え」という段落スタイルを適用するJavaScriptです。

// 段落スタイル適用スクリプト by ChatGPT

// 選択したオブジェクトを取得
var selection = app.activeDocument.selection;

// 適用したい段落スタイルの名前
var paragraphStyleName = "左揃え"; // 適用したい段落スタイル名

// ドキュメントの段落スタイルリストから指定された名前のスタイルを取得します
var paragraphStyle = null;
for (var i = 0; i < app.activeDocument.paragraphStyles.length; i++) {
  if (app.activeDocument.paragraphStyles[i].name === paragraphStyleName) {
    paragraphStyle = app.activeDocument.paragraphStyles[i];
    break;
  }
}

if (paragraphStyle) {
  // 段落スタイルが見つかった場合、選択されたテキストオブジェクトに段落スタイルを適用
  for (var i = 0; i < selection.length; i++) {
    var selectedItem = selection[i];
    if (selectedItem.typename === "TextFrame") {
      // テキストフレームのすべての文字範囲にスタイルを適用
      var paragraphs = selectedItem.paragraphs;
      for (var j = 0; j < paragraphs.length; j++) {
        paragraphStyle.applyTo(paragraphs[j]);
      }
    }
  }
} else {
  // 段落スタイルが見つからなかった場合、エラーメッセージを表示
  alert("指定された段落スタイルが見つかりませんでした。");
}

※Adobe Illustrator 2024 にて動作確認済みです

3. Adobe Illustrator でグラフィックスタイルを適用するスクリプト

次は、グラフィックスタイルを適用スクリプトです。
以下は「チョーク」というグラフィックスタイルを適用するJavaScriptです。

// グラフィックスタイルを適用するスクリプト by ChatGPT

// 選択したオブジェクトを取得
var selection = app.activeDocument.selection;

// 適用したいグラフィックスタイルの名前
var graphicStyleName = "チョーク"; // 適用したいグラフィックスタイル名

// ドキュメントのグラフィックスタイルリストから指定された名前のスタイルを取得します
var graphicStyle = null;
for (var i = 0; i < app.activeDocument.graphicStyles.length; i++) {
  if (app.activeDocument.graphicStyles[i].name === graphicStyleName) {
    graphicStyle = app.activeDocument.graphicStyles[i];
    break;
  }
}

if (graphicStyle) {
  // グラフィックスタイルが見つかった場合、選択されたオブジェクトに適用
  for (var i = 0; i < selection.length; i++) {
    var selectedItem = selection[i];
    graphicStyle.applyTo(selectedItem);
  }
} else {
  // グラフィックスタイルが見つからなかった場合、エラーメッセージを表示
  alert("指定されたグラフィックスタイルが見つかりませんでした。");
}

※Adobe Illustrator 2024 にて動作確認済みです


いいなと思ったら応援しよう!