お言葉に甘えてちょっと書き換えてみました。
環境がないのでCS3〜4では確認していません。不具合あればご指摘お願いします。
※CS5で動作確認。CS5では不要箇所を削除して下さい。
・印刷しないオブジェクトを含むグループがあるとエラーになっていたので回避しました。
・印刷しないオブジェクトを見つけると、そのオブジェクトを選択してズームします。
・選択後、そのオブジェクトを印刷するかどうかを確認します。
“はい”を選ぶと「印刷しない」のチェックを外します。“いいえ”ではそのまま。
・ドキュメント全体を通してチェックします。途中では止められません。
if(app.documents.length==0){
alert("ドキュメントを開いて実行してください。");
}else{
var MyDoc=app.activeDocument;
for(i=0; i<MyDoc.allPageItems.length; i++){
//CS5は、画像の部分もこれで調べられる
if(MyDoc.allPageItems[i].constructor.name!="Group"&&MyDoc.allPageItems[i].nonprinting){
app.select(MyDoc.allPageItems[i]);
MyDoc.layoutWindows[0].zoomPercentage=200;
if(confirm("印刷しないオブジェクトがあります。このオブジェクトを印刷しますか?",true)){
MyDoc.allPageItems[i].nonprinting=false;
}
//CS5ではここから↓------------------------------
//CS3とCS4は、こっちで画像の部分を調べる
if(MyDoc.allPageItems[i].allGraphics.length==1&&MyDoc.allPageItems[i].allGraphics[0].nonprinting){
app.select(MyDoc.allPageItems[i].allGraphics[0]);
MyDoc.layoutWindows[0].zoomPercentage=200;
if(confirm("印刷しない画像があります。この画像を印刷しますか?",true)){
MyDoc.allPageItems[i].allGraphics[0].nonprinting=false;
}
}
//↑ここまで不要です------------------------------
}
}
alert("チェックが完了しました");
}
[13699] f(-_-;) (2012/03/15 Thu 22:00)