if構文はif (条件) {処理}で成立している。
選択した空テキストフレームは↓で削除できる。
var selObj = app. activeDocument. selection [0] ;
if (selObj. contents == "")
{
selObj. remove() ;
};
選択した3つのテキストフレームの中に空白テキストフレームがある場合、↓で処理される。
var selObj = app. activeDocument. selection [0] ;原始的な力技だがselection[100]まで作って置けば実際の仕事で使えるかも知れない。急いで対応しなければならない時に慣れないfunctionやforで時間を費やすよりこちらの方が初心者にはいいかもしれない。とはいえ自分の勉強のためにfunction成立の流れで作ってみる。
if (selObj. contents == "")
{
selObj. remove() ;
};
selObj = app. activeDocument. selection[1];
if (selObj. contents == "")
{
selObj. remove() ;
};
selObj = app. activeDocument. selection[2];
if (selObj. contents == "")
{
selObj. remove() ;
};
流れ1
selObj = app. activeDocument. selection [0];
kara();
selObj = app. activeDocument. selection [1];
kara();
selObj = app. activeDocument. selection [2];
kara();
function kara (){
if (selObj. contents == "")
{
selObj. remove() ;
}
};
流れ2
kara(0);
kara(1);
kara(2);
function kara (No){
selObj = app. activeDocument. selection [No];
if (selObj. contents == "")
{
selObj. remove(No) ;
}
};
流れ3
var selObj = app. activeDocument. selection ;
for (i =0; i<selObj. length; i++)
{
kara (i);
}
function kara (No){
if (selObj [No]. contents == "")
{
selObj [No]. remove() ;
}
};
流れ4
(function (){
var selObj = app. activeDocument. selection;
for (var i =0; i<selObj. length; i++)
{
if (selObj[i]. contents == "")
{
selObj[i]. remove() ;
}
}
})();
ここまできて気づく。
流れ3と4は選択数の制限無く処理されるものの、テキストフレームに色が付けられている空のテキストフレームを選択するとエラーになってしまう。最初の簡単な文からしてそうだ。検証が甘かった。。。
0 件のコメント:
コメントを投稿