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. 使い方
outlineAi.vbs
を作成し、デスクトップなどに配置。createOutline.jsx
をC:\Users\username\Desktop\CGM_outlineAi.jsx
に配置。- 複数のAIファイルをVBSスクリプトへドラッグ&ドロップ すると、すべてのファイルに対してアウトライン処理が適用されます。
まとめ
VBSスクリプトを使うことで、Illustratorでもドラッグ&ドロップによる自動処理が可能になります。
VBSの記述はわかりづらい部分もありますが、一度作成すれば作業効率が向上するので、ぜひ活用してみてください!
コメント