Illustrator│ドラッグ&ドロップしたAIファイルに対してスクリプトを実行する方法

Photoshopにはドロップレット機能がありますが、Illustratorには標準で用意されていません。

そこで、VBS(WSH)を使って、ドラッグ&ドロップしたAIファイルに対してスクリプトを実行する方法を紹介します。

目次

ドラッグ&ドロップしたAIファイルにアウトラインをかけるVBSスクリプト

1. VBSスクリプト(outlineAi.vbs

Option Explicit

' ドラッグ&ドロップで取得したファイルパスを変数に入れる
Dim GetPathArray
Set GetPathArray = WScript.Arguments

' ファイルシステムオブジェクトを作成
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim pt

' ループ処理
For Each pt in GetPathArray
    Dim app, doc
    Set app = CreateObject("Illustrator.Application")
    Set doc = app.Open(pt)

    ' スクリプトの実行
    app.DoJavaScriptFile("C:\Users\username\Desktop\CGM_outlineAi.jsx")

    ' 保存して閉じる
    doc.Close 1 ' aiDoNotSaveChanges
Next

2. JSXスクリプト(createOutline.jsx

function createOutline() {
    var type = activeDocument.textFrames;
    var layers = activeDocument.layers;

    for (var j = 0; j < layers.length; j++) {
        layers[j].locked = false;
    }

    var array = [];
    for (var k = 0; k < type.length; k++) {
        array.push(type[k]);
    }

    for (var l = 0; l < array.length; l++) {
        var outline = array[l].createOutline();
        outline.selected = true;
    }
}

createOutline();

スクリプトの解説

1. VBSスクリプトの役割

  • ドラッグ&ドロップされたAIファイルを取得
  • Illustratorを起動し、ファイルを開く
  • 指定したJSXスクリプト(createOutline.jsx)を実行
  • ファイルを保存して閉じる

2. JSXスクリプトの役割

  • すべてのテキストをアウトライン化
  • レイヤーのロックを解除して処理を適用

3. 使い方

  1. outlineAi.vbs を作成し、デスクトップなどに配置。
  2. createOutline.jsxC:\Users\username\Desktop\CGM_outlineAi.jsx に配置。
  3. 複数のAIファイルをVBSスクリプトへドラッグ&ドロップ すると、すべてのファイルに対してアウトライン処理が適用されます。

まとめ

VBSスクリプトを使うことで、Illustratorでもドラッグ&ドロップによる自動処理が可能になります。

VBSの記述はわかりづらい部分もありますが、一度作成すれば作業効率が向上するので、ぜひ活用してみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次