変数を削除するスクリプトは、これで良いのかな・・・?
/*
更新 2021/6/22
*/
// アプリ指定
#target "indesign";
// スクリプト名
var scriptName = "変数を削除";
//スクリプトの動作指定(一つのアンドゥ履歴にする、及び、アンドゥ名)
app.doScript(function () {
// ダイアログ
var dialogueFlg = confirm("インスタンスを持たないカスタムテキスト変数を削除します。","", scriptName);
// Noの場合
if (dialogueFlg == false) {
// 終了
exit();
}
// 削除した数
var removeNumber = 0;
// テキスト変数の数だけ逆に繰り返す
for(var i = app.activeDocument.textVariables.count() - 1; i >= 0; i--){
// カスタムテキスト変数の場合
if(app.activeDocument.textVariables.item(i).variableType == VariableTypes.CUSTOM_TEXT_TYPE){
// インスタンスがない場合
if(app.activeDocument.textVariables.item(i).associatedInstances.length == 0){
// 削除
app.activeDocument.textVariables.item(i).remove();
// 数を増やす
removeNumber++;
}
}
}
// 結果を表示
alert("削除数 " + removeNumber, scriptName);
//スクリプトの動作指定の続き
}, ScriptLanguage.JAVASCRIPT, [scriptName], UndoModes.ENTIRE_SCRIPT, scriptName);