documents.add();
activeDocument.defaultStroked=false;//線はなしにする。
var myH=5;//高さ
var myW=5;//幅
//100色分のカラーチャートブロック
for(YY=0;YY<11;YY++){	var myYY=YY*myH*11;//11コマ分移動させる
	for(XX=0;XX<11;XX++){
		var myXX=XX*myW*11;//11コマ分移動させる
		CreateRect(myXX,myYY,myW,myH,YY*10,XX*10);//100色作る関数を呼ぶ
	}
}
//100色作る関数
function CreateRect(motoX,motoY,myW,myH,myYellow,myBlack){
	for(Y=0;Y<11;Y++){
		var myY=motoY+Y*myH;//1コマ移動
		for(X=0;X<11;X++){
			var myX=motoX+X*myW;//1コマ移動
			var myObj=activeDocument.pathItems.rectangle(myY,myX,myW,myH);//四角
			myObj.fillColor=reColor(Y*10,X*10,myYellow,myBlack);
		}
	}
}
function reColor(C,M,Y,K){
	var myCMYK=new CMYKColor();
	var myColor=new Color();
	
	myCMYK.cyan=C;
	myCMYK.magenta=M;
	myCMYK.yellow=Y;
	myCMYK.black=K;
	
	myColor.cmyk=myCMYK;
	return myColor;
}function reColor(C,M,Y,K){
	var myCMYK=new CMYKColor();
	var myColor=new Color();
	
	myCMYK.cyan=C;
	myCMYK.magenta=M;
	myCMYK.yellow=Y;
	myCMYK.black=K;
	
	myColor.cmyk=myCMYK;
	return myColor;
}var myDoc=activeDocument.pathItems; var myObj=myDoc.ellipse(Y,X,W,H);//丸 myObj.fillColor=reColor(); //reColor関数で色を返す myObj.stroked=false;//線なし myObj.opacity=50;//透明度50 var myObj=activeDocument.pathItems.ellipse(Y,X,W,H); //こんなふうにまとめて作ることもできる
colbuf=new CMYKColor(); colbuf.cyan=0; colbuf.magenta=100; colbuf.yellow=100; colbuf.black=0; M100Y100=new Color(); M100Y100.cmyk=colbuf; myDoc=activeDocument; myDoc.defaultStroked=false; myDoc.defaultFillColor=M100Y100; myDoc.pathItems.rectangle(10,20,100,200);
var myDoc=activeDocument.pathItems; var myObj=myDoc.rectangle(Y,X,W,H);//四角 myObj.fillColor=reColor(); //reColor関数で色を返す myObj.stroked=false;//線なし myObj.opacity=50;//透明度50
var myTextItem = activeDocument.textArtItems[0]; myTextItem.contents = "あいうえお"; この例では最前面のテキストの内容を "あいうえお"に変更します。
BARレイヤーに
■■■■■■■■
という8つのオブジェクトを配置しグループ化します。
それを256個複製し下記スクリプトを実行すると
白黒全パターンができます。
子供のプリキュアカード用です。
var docRef = documents[0];
Lay=docRef.layers["BAR"];
for(T=0;T<256;T++){
	gro=Lay.groupItems[T];
	myStr=reStr(T);
	for(N=0;N<8;N++){
		buf=myStr.substr(N,1);
		if(buf=="0"){
			gro.pathItems[N].fillColor=reColor(0,0,0,0);
		}else{
			gro.pathItems[N].fillColor=reColor(0,0,0,100);
		}
	}
}
function reStr(xx){
	myStr=xx.toString(2);
	myStrLen=myStr.length;
	if(myStrLen==1){myStr="0000000"+myStr;}
	else if(myStrLen==2){myStr="000000"+myStr;}
	else if(myStrLen==3){myStr="00000"+myStr;}
	else if(myStrLen==4){myStr="0000"+myStr;}
	else if(myStrLen==5){myStr="000"+myStr;}
	else if(myStrLen==6){myStr="00"+myStr;}
	else if(myStrLen==7){myStr="0"+myStr;}
	return myStr;
}
function reColor(C,M,Y,K){
	var myCMYK=new CMYKColor();
	var myColor=new Color();
	
	myCMYK.cyan=C;
	myCMYK.magenta=M;
	myCMYK.yellow=Y;
	myCMYK.black=K;
	
	myColor.cmyk=myCMYK;
	return myColor;
}//線の設定がない選択したオブジェクトにトンボをつけます
selAry=activeDocument.selection;
lineW=0.1;
var mypt=2.8;
if(selAry.length>1){
	alert("1つだけ選択して下さい。");
}else{
	var X=selAry[0].left/mypt;
	var Y=selAry[0].top/mypt;
	var W=selAry[0].width/mypt;
	var H=selAry[0].height/mypt;
	//左上
	drowLine(X-13,X-3,Y,Y,lineW,mypt);
	drowLine(X-13,X,Y+3,Y+3,lineW,mypt);
	drowLine(X-3,X-3,Y+13,Y,lineW,mypt);
	drowLine(X,X,Y+13,Y+3,lineW,mypt);
	//上センター
	drowLine(X+W/2,X+W/2,Y+13,Y+3,lineW,mypt);
	drowLine(X+W/2-5,X+W/2+5,Y+7,Y+7,lineW,mypt);
	drowEllipse(X+W/2-2,Y+7+2,4,4,lineW,mypt);
	//右上
	drowLine(X+W+3,X+W+13,Y,Y,lineW,mypt);
	drowLine(X+W,X+W+13,Y+3,Y+3,lineW,mypt);
	drowLine(X+W+3,X+W+3,Y+13,Y,lineW,mypt);
	drowLine(X+W,X+W,Y+13,Y+3,lineW,mypt);
	//左センター
	drowLine(X-13,X-3,Y-H/2,Y-H/2,lineW,mypt);
	drowLine(X-7,X-7,Y-H/2+5,Y-H/2-5,lineW,mypt);
	drowEllipse(X-7-2,Y-H/2+2,4,4,lineW,mypt);
	//右センター
	drowLine(X+W+3,X+W+13,Y-H/2,Y-H/2,lineW,mypt);
	drowLine(X+W+7,X+W+7,Y-H/2+5,Y-H/2-5,lineW,mypt);
	drowEllipse(X+W+7-2,Y-H/2+2,4,4,lineW,mypt);
	//左下
	drowLine(X-13,X-3,Y-H,Y-H,lineW,mypt);
	drowLine(X-13,X,Y-H-3,Y-H-3,lineW,mypt);
	drowLine(X-3,X-3,Y-H-13,Y-H,lineW,mypt);
	drowLine(X,X,Y-H-13,Y-H-3,lineW,mypt);
	//下センター
	drowLine(X+W/2,X+W/2,Y-H-13,Y-H-3,lineW,mypt);
	drowLine(X+W/2-5,X+W/2+5,Y-H-7,Y-H-7,lineW,mypt);
	drowEllipse(X+W/2-2,Y-H-7+2,4,4,lineW,mypt);
	//右上
	drowLine(X+W+3,X+W+13,Y-H,Y-H,lineW,mypt);
	drowLine(X+W,X+W+13,Y-H-3,Y-H-3,lineW,mypt);
	drowLine(X+W+3,X+W+3,Y-H-13,Y-H,lineW,mypt);
	drowLine(X+W,X+W,Y-H-13,Y-H-3,lineW,mypt);
}
function reColor(C,M,Y,K){
	var myCMYK=new CMYKColor();
	var myColor=new Color();
	
	myCMYK.cyan=C;
	myCMYK.magenta=M;
	myCMYK.yellow=Y;
	myCMYK.black=K;
	
	myColor.cmyk=myCMYK;
	return myColor;
}
function drowLine(X1,X2,Y1,Y2,lineW,mypt){
	tomboColor=reColor(100,100,100,100);
	myLine=activeDocument.pathItems.add();
	myLine.setEntirePath([[X1*mypt,Y1*mypt],[X2*mypt,Y2*mypt]])
	myLine.filled=false;
	myLine.stroked=true;
	myLine.strokeWidth=lineW*mypt;
	myLine.strokeColor=tomboColor;
}
function drowEllipse(X,Y,W,H,lineW,mypt){
	tomboColor=reColor(100,100,100,100);
	myObj=activeDocument.pathItems.ellipse(Y*mypt,X*mypt,W*mypt,H*mypt);
	myObj.filled=false;
	myObj.stroked=true;
	myObj.strokeWidth=lineW*mypt;
	myObj.strokeColor=tomboColor;
}
//現在のドキュメントを調べておく
var docRef = documents[0];
//ファイルオープン
//変数inputFileはフルパス。File()はFileオブジェクトを返す関数
formatFile=open(File(inputFile));
//全アイテム分繰り返す
for(i=0;i<formatFile.pageItems.length;i++) {
//開いたファイルを複製して
 	newItem = formatFile.pageItems[i].duplicate(); 
//最初のドキュメントに複製する
	 newItem.moveToBeginning(docRef); 
 } 
かなり効率悪そうなサンプル。
実際AppleScriptよりも遅いのでここまで書いてやめた。
AppleScriptでもduplicateを使うよりも
すべてのアイテムを選択しコピーペーストするほうが速い//最前面のドキュメント
var docRef = documents[0];
//レイヤーの数
var Lnum = docRef.layers.length;
var Lay="";
//レイヤーの数分繰り返し
for(N=0;N<Lnum;N++){
//テキストがあるなら
	if(docRef.layers[N].textArtItems.length>0){
//内容を調べる
		con=docRef.layers[N].textArtItems[0].contents
//最初の8文字が"F@I@L@E:"なら
		if("F@I@L@E:"==con.substr(0,8)){
//座標やレイヤー名を調べる
			X=docRef.layers[N].textArtItems[0].left;
			Y=docRef.layers[N].textArtItems[0].top;
			Lay=docRef.layers[N].name;
			con = con.substr(8);
			inputFile=formatFol + con;
			break;
		}
	}
}documents.add(DocumentColorSpace.CMYK,600,400); CMYKで W600pt H400pt mmやcmでの指定は不可 documents.add(); 引数無しでもできる。
var myDoc=activeDocument.pathItems; var myObj=myDoc.roundedRectangle(Y,X,W,H,5,5);//角R四角 myObj.fillColor=reColor(); //reColor関数で色を返す myObj.stroked=false;//線なし myObj.opacity=50;//透明度50
ファイルパスの指定方法 起動ディスクのepsフォルダ内の001.epsは MacWin共通 /eps/001.eps Macだけでは Macintosh HD:eps:001.eps Winだけでは C:\\eps\\001.eps
プリセットフォルダのスクリプトフォルダに
作成したスクリプトを入れる。
下記をtest.jsという名前で
Illustrator/プリセット/スクリプトに入れる。
alert("これは練習です");
これでIllustratorを起動し
ファイルメニューのスクリプトから実行する。selAry=activeDocument.selection;
for(N=0;N<selAry.length;N++){
	alert(selAry[N].width);
}//↓線幅を設定(単位mm)
var W=0.1;
//↓色を設定(単位%)
var C=0;
var M=0;
var Y=0;
var K=100;
var myCMYK=new CMYKColor();
var myColor=new Color();
myCMYK.cyan=C;
myCMYK.magenta=M;
myCMYK.yellow=Y;
myCMYK.black=K;
	
myColor.cmyk=myCMYK;
selAry=activeDocument.selection;
for(N=0;N<selAry.length;N++){
	if(selAry[N].stroked){
		selAry[N].strokeWidth=W*2.83;
		selAry[N].strokeColor=myColor;
	}
}