5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【驚愕の】IllustratorPhotoshopのscript【新機能】

1 :氏名トルツメ:03/05/29 22:45
Illustratorはver.10
Photoshopはver.7
からスクリプトでアプリを操作できるみたいなんだけど、
具体的にどんなことができるの?
使ってる人おせーて

2 :氏名トルツメ:03/05/29 22:47
2( ´_ゝ`)フーン

3 :氏名トルツメ:03/05/29 22:52
イラストレーター10のCDに
スクリプトのマニュアルpdfが入ってるが
400ページ以上もあってアプリ本体のマニュアルより
中身がありそうだ


4 :氏名トルツメ:03/05/30 16:51
誰もおせーてくれないので、自分からひとつ

とりあえず以下のようにsimple Textで書いて、
●●.jsという名前でIllustrator10のプリセットフォルダ内のスクリプトフォルダ
に保存してIllustrator10を起動
ファイルメニューのスクリプトから●●.jsを選択したら

自動的に名称未設定の書類が作成され、座標値(500,50)から
高さ300ピクセル 幅300ピクセル ストロークK100,1pt 塗りC100
の長方形が自動的に作成されました。

documents .add();
var newRect = activeDocument.pathItems.rectangle(500,50,300,300);
var newCMYKColor = new CMYKColor();
var newFillColor = new Color();
newCMYKColor.cyan =100;
newCMYKColor.magenta =0;
newCMYKColor.yellow =0;
newCMYKColor.black =0;
newFillColor.cmyk = newCMYKColor;
newRect.fillColor = newFillColor;

5 :氏名トルツメ:03/06/03 21:35
レスつかないあげ

6 :氏名トルツメ:03/06/03 21:52
どうだっていいや

7 :氏名トルツメ:03/06/04 10:36
そもそもPhotoshopのアクションって知名度かなり低く無い?
ものすごく便利なんだけど

8 :氏名トルツメ:03/06/07 01:59
これでバーコード生成スクリプト作れば、
バーコード生成ソフト専業業者は大変だな

9 :氏名トルツメ:03/06/07 10:23
何かすごそう

10 :無料動画直リン:03/06/07 10:31
http://homepage.mac.com/norika27/

11 :氏名トルツメ:03/06/07 11:09
カレンダーとかも簡単につくれそうだ、
祝日が法律でよく変わるのが少しネックだが

12 :氏名トルツメ:03/06/07 13:03
内閣府が休日データをXMLで配布すべきだ

13 :氏名トルツメ:03/06/07 16:02
勉強する時間や、人材のことを考えれば
今までどおり手動で書く方がはやいんじゃねえの?

14 :氏名トルツメ:03/06/22 17:21
>>13
用途によるだろうね。

15 :山崎 渉:03/07/12 12:14

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

16 :山崎 渉:03/07/15 13:13

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

17 :氏名トルツメ:03/07/15 16:27
コピペだけど...。
set openFile to choose file with prompt "Select text file!" of type {"TEXT"}
open for access openFile
try
set Alltext to read openFile
set Allrows to every paragraph of Alltext
tell application "Adobe Illustrator 10"
activate
tell document 1
set itemList to Allrows
set NewLayer to make new layer at it with properties {name:"newtext"}
set distx to 0
set disty to 0
repeat with rowitem in itemList
set NewText to make new text art item at it with properties {contents:rowitem, kind:point text, position:{100, 800}}
set disty to disty - 20
translate NewText delta x distx delta y disty
end repeat
end tell
end tell
on error
close access openFile
display dialog "Error!!"
return
end try
close access openFile
案内図とか地図とか文字の多いヤツに良さそう

18 :氏名トルツメ:03/07/15 16:29
↑テキストファイルを読み込んで、改行ごとに
1つのテキストオブジェクトにするよ。

19 :氏名トルツメ:03/07/16 12:59
>>17
どうすれば動くの?これ

20 :氏名トルツメ:03/07/16 13:40
>19
AppleScriptなので、Mac版でだけ動くようです。
ScriptEditor(アップルスクリプトを作るアプリね)
にコピペして、コンパイル済みのスクリプトファイルを作って、
Illustratorのフォルダのプリセットフォルダーだったかな..、
スクリプトっていうフォルダに入れて使うといいみたい。
もっとも、スクリプトメニューの参照...を使えばどこにおいても
いいみたいだけど。
AppleScriptだから自分の好きなように改良できるのがいいスね。

21 :19:03/07/16 14:44
>>20
サンクスあげ

22 :氏名トルツメ:03/07/17 00:20
空レイヤを削除するスクリプトです。
JavaScriptです。
CADデータをもらって作業するときなんかに、
レイヤを整理していくとできる
無駄な空レイヤをいっぺんに削除します。
もっとも利用頻度は少ないでしょうが...。
m = documents[0].layers.length;
countOfLayers = documents[0].layers.length;
for (j=countOfLayers-1; j>=0; j--)
{
n = documents[0].layers[j].pageItems.length;
if (n == 0)
{
documents[0].layers[j].remove();
}
}

23 :氏名トルツメ:03/07/17 00:56
>>17
JavaScript版もきぼん

24 :17:03/07/17 01:52
だれか書いてください...。

25 :氏名トルツメ:03/07/17 12:17
ビュンビュンテクニックという本からのパクリだが
カラーチャート自動生成スクリプト
var newCMYKColor = new CMYKColor();
var newFillColor = new Color();
var len = 40;
var width = len-2;
var height =width;
var base = 100;
var c , m , y
for ( y = 0; y <= 10; y++){
documents.add();
var pathsInDoc = activeDocument.pathItems;
for(c = 0; c <= 10; c++){
for( m = 0; m <= 10; m++){
var top = m * len +base;
var left = c * len +base;
var newRect = activeDocument.pathItems.rectangle(top,left,width,height);
newCMYKColor.cyan = c * 10;
newCMYKColor.magenta = (10 - m)* 10;
newCMYKColor.yellow = y * 10;
newCMYKColor.black = 0;
newFillColor.cmyk = newCMYKColor;
newRect.fillColor = newFillColor;
newRect.stroked = false;
newRect.opacity = 100;
}
}
}

26 :25:03/07/17 12:21
Javascriptです

27 :氏名トルツメ:03/07/19 16:23
ロックされていないレイヤのテキストオブジェクトを全部選択します。
Illustrator10の選択メニューではなぜか出来ないので作りました。
JavaScriptです。テキストエディタコピペして、拡張子.jsにして使います。
activeDocument.selection = null;
theArtItems = activeDocument.textArtItems;
if (theArtItems != null)
{
m= documents[0].layers.length;
for (j=m-1; j>=0 ; j--)
{
if (documents[0].layers[j].locked==false)
{
n = documents[0].layers[j].textArtItems.length;
for(i=0; i<n ; i++)
{
activeDocument.layers[j].textArtItems[i].selected=true;
}
}
}
}


28 :氏名トルツメ:03/07/20 21:16
日付文字を書き込みます。JavaScriptです。
いつ使うんだか...。
dd = new Date();
yy = dd.getYear();
mm = dd.getMonth() + 1;
dd = dd.getDate();
if (yy < 2000) { yy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }
dateString1 = (yy + "/" + mm + "/" + dd);

lnRGBColor = new RGBColor();
lnColor = new Color();
lnRGBColor.red = 0;
lnRGBColor.green = 0;
lnRGBColor.blue = 0;
lnColor.rgb = lnRGBColor;

textArt = documents[0].activeLayer.textArtItems.add();
textArtRange = textArt.textRange();
textArt.contents = dateString1; // テキストの内容
textArtRange.filled = true; // 塗りつぶし
textArtRange.fillColor = lnColor; // 色
textArtRange.stroked = false; // 輪郭
//textArtRange.font = "Arial"; フォント名
textArtRange.size = 12; // サイズ
textArt.position = Array(0, 860);

29 :氏名トルツメ:03/07/22 14:50
17のJavaScript版を作ってみたんですが、
どうもエスケープ文字まわりの動作が変です。
Webで使われるJavaScriptみたいには動きません...。
frontDocument = documents[0];
var reportFile = File("//Documents and Settings/user4/My Documents/insert.txt");
reportFile.open("read");
var thetext = reportFile.read();
var stringarray= thetext.split("\r\n");
thename = reportFile.name;
flag = confirm("File Name : " + thename +"
" + stringarray[0]+ stringarray[1]+ stringarray[2]+ stringarray[3] + stringarray[4]);
if (flag == true){
newtextlayer = frontDocument.layers.add();
newtextlayer.name="Texts";
ycodination =800;
n= stringarray.length;
for(i=0; i<n ; i++){
if (stringarray[i] != "\n"){
textArt = frontDocument.textArtItems.add();
textArtRange = textArt.textRange();
textArtRange.size = 16;
textArt.position = Array(40, ycodination);
ycodination = ycodination-25;
textArt.contents = stringarray[i];
}
}
}
reportFile.close();


30 :氏名トルツメ:03/07/23 01:18
数字をたくさん生成するJavaScriptです。数字をたくさん使うデザインの時にどうぞ...。
var n=60;
flag = confirm("Plot 1 to "+n + ".");
if (flag == true){
newtextlayer = documents[0].layers.add();
newtextlayer.name="Numbers";
Xcodination = 20;
Ycodination = 800;
absoluteXcodination = Xcodination;
absoluteYcodination = Ycodination;
OffsetDistanceX = 35;
OffsetDistanceY = 20;
NewLineNumber = 25;
HeadInsertText = "";
TailInsertText = "";
for(i=1; i < n+1 ; i++){
textArt = documents[0].textArtItems.add();
textArtRange = textArt.textRange();
textArtRange.size = 16;
textArt.position = Array(Xcodination, Ycodination);
Ycodination = Ycodination-OffsetDistanceY;
if(i%NewLineNumber < 1){
increase = Math.floor(i/NewLineNumber);
Xcodination = absoluteXcodination + OffsetDistanceX*increase;
Ycodination = absoluteYcodination;
}
/* if(i<10){i = "0"+ i ;}*/
textArt.contents = HeadInsertText + i + TailInsertText;
}
}


31 :氏名トルツメ:03/07/24 13:01
ルーチンワークはアクションとスクリプトでどうぞってか?

32 :氏名トルツメ:03/07/25 21:57
var Codes = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var Lines = 8;//Number of Line's characters.
var Columns = 8;//Number of paragraphs.
var HeadInsertText = "";
var TailInsertText = "";
newtextlayer = documents[0].layers.add();
newtextlayer.name="Numbers";
Xcodination = 20;
Ycodination = 800;
absoluteXcodination = Xcodination;
absoluteYcodination = Ycodination;
OffsetDistanceX = 25;
OffsetDistanceY = -25;
for (var Line = 1; Line <= Lines; Line++){
for (var Column = 1; Column <= Columns; Column++){
var alphabettext = (Codes.charAt(Math.random() * Codes.length));
textArt = documents[0].textArtItems.add();
textArtRange = textArt.textRange();
textArtRange.size = 16;
textArt.position = Array(Xcodination, Ycodination);
Ycodination = Ycodination+OffsetDistanceY;
textArt.contents = HeadInsertText + alphabettext + TailInsertText;
if(Column==Columns){
Ycodination = absoluteYcodination;
Xcodination = absoluteXcodination + OffsetDistanceX*Line;}
}
}

33 :氏名トルツメ:03/07/25 21:59
↑アルファベットをランダムに生成します。
先輩に教わって書きました...。

34 :氏名トルツメ:03/07/25 22:48
ここは最高♪

http://www3.free-city.net/home/akipon/page001.html

35 :氏名トルツメ:03/07/30 01:46
IllustratorのJavaScriptって
MacとWinで対応具合が結構違う。
ちょっと複雑なの組もうとすると
結局、Mac用とかWin用になっちゃう。
なら初めからAppleScriptかVBで組むって...。

36 :氏名トルツメ:03/07/30 01:55
みんな!!違法取立てバカの闇金、八島総業が名前と電番変えて必死だぞ!!
イタ電だ!!!
八島総業=須賀興業=大谷興業=朝妻興業だ!!
住所にはいつも必ず1-7-1を使っている!!
↓↓詳しくはこちら!!↓↓
【闇金融】違法取立て馬鹿の自称八島総業を叩くスレ!!
http://www.megabbs.com/cgi-bin/readres.cgi?bo=rage&vi=1059058002


37 :氏名トルツメ:03/07/30 10:52
>>all
さんくす
more sampleきぼん

38 :氏名トルツメ:03/07/30 11:44
フォルダに入っている画像ファイルをいっぺんに取り込めるよ。

var theFolder = "/MacintoshHDG4_OSX/Users/Tina/Desktop/images";//path of your text file
var folderSpec = new Folder(theFolder);
var myPictures = folderSpec.getFiles();

var xcodination = -100;
var ycodination = 1000;
var xincreasedistance = 50;
var yincreasedistance = -175;
var newtextlayer = documents[0].layers.add();
newtextlayer.name="Raster Images";//Name of new layer

for (i = 0; i < myPictures.length; i++){
theFile = myPictures[i];

var rasterItemFile = new File();
rasterItemFile = theFile;
newRasterArt = activeDocument.rasterItems.add();
newRasterArt.file = rasterItemFile;
newRasterArt.position = Array(xcodination, ycodination);
newRasterArt.embedded = false;
xcodination = xcodination+xincreasedistance;
ycodination = ycodination+yincreasedistance;
}


39 :_:03/07/30 11:45
http://homepage.mac.com/hiroyuki44/

40 :氏名トルツメ:03/07/30 12:43
Microsoft ( NASDAQ:MSFT ) は29日、デジタル画像処理ソフトウェア市場で主導的な位置に
ある Adobe Systems ( NASDAQ:ADBE ) の優位を切り崩す製品として、
『Digital Image Suite 9』を発売した。

41 :氏名トルツメ:03/07/31 11:35
開いているファイルを全部印刷するよ。

numDocuments = documents.length;
for ( i = 0 ; i < numDocuments; i++){
aDocument = documents[i];
aDocument.print(showDialog=false);
}

42 :_:03/07/31 11:36
http://homepage.mac.com/hiroyuki44/

43 :氏名トルツメ:03/08/02 02:25
>38
Winでは動かない。バグか?

44 :ぼるじょあ ◆yBEncckFOU :03/08/02 02:46
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

45 :氏名トルツメ:03/08/02 17:28
急に下がったのであげ

46 :氏名トルツメ:03/08/04 12:51
>>43
ネタ? パス決め打ちは別にバグじゃないだろ。

47 :氏名トルツメ:03/08/04 22:17
>46
そうじゃないよ。パスを書き直してもだめみたいよ。

48 :氏名トルツメ:03/08/04 23:28
誰かがIllustrator10について質問するスレ
http://pc2.2ch.net/test/read.cgi/software/1035389384/

49 :氏名トルツメ:03/08/15 12:55
アートワークのテキストパスから
特定の文字列(例えば"abc"としましょう)をトルツメするjavascriptきぼん

50 :山崎 渉:03/08/15 17:05
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

51 :氏名トルツメ:03/08/15 20:41
良スレあげ

52 :氏名トルツメ:03/08/15 22:30
>49
検索・置換じゃだめなの?

53 :直リン:03/08/15 22:31
http://homepage.mac.com/maki170001/

54 :氏名トルツメ:03/08/15 22:32
>>49
我思うに、特定出来るならscriptが必要だろうか

55 :49:03/08/16 00:21
スクリプトならファイルをオープンせずに
複数ファイルを一括で処理できるのではないかと思ったのですが・・・


56 :氏名トルツメ:03/08/16 06:20
>>55
sed

57 :氏名トルツメ:03/08/16 08:32
ファイル処理が必要ならawkの方がいいんじゃない、sedはファイル処理弱いし
perlはチョット面倒だし、awkなら中庸かな

58 :氏名トルツメ:03/08/16 12:50
へぇ。Illustratorってファイルオープンしないでも
内容を変更する処理なんてできるの?

59 :氏名トルツメ:03/08/17 15:55
>55
自動化したければ、ある程度自分で勉強しなくちゃね。
JavaScriptだとファイルオープンダイアログとか出せないから、
結局、フォルダパスを書き直したりしないとダメだもんね。

60 :氏名トルツメ:03/08/17 20:20
面白いね、コンピュータって感じ

61 :氏名トルツメ:03/09/08 00:07
AppleScriptです。
アートボードと同じサイズの四角形を作ります。
それだけ...。
tell application "Adobe Illustrator 10"
activate
tell document 1
set H to height
set W to width
set pathRef to make new rectangle at end with properties {bounds:{0, 0, W, H}, note:"square"}
end tell
end tell

62 :氏名トルツメ:03/09/08 22:27
>59
そう、今のIllustratorのJavaScriptってpromptを出せないみたいだから
コードを直接、書き直すしかないんだよね。

63 :氏名トルツメ:03/10/24 09:57
新作きぼん

64 :氏名トルツメ:03/10/28 23:04
8ではスクリプトは効かないんですか?
開いてるファイルを20枚くらい一気にプリントしたいです。

65 :氏名トルツメ:03/10/28 23:38
イラレのスクリプト対応は9からだよ。
8は無理だね。

66 :氏名トルツメ:03/10/29 17:37
>>65
無理じゃないよ。7.0以降なら出来るんだな、これが。
↓あまり知られてないけど。
http://www.latenightsw.com/SCRIPZ/

67 :氏名トルツメ:03/11/07 02:45
OS8.6/Photoshop5.5でアクション+AppleScriptを
使いたいのですが、「Photoshop上で開いているファイルA
の画像をコピーして、ファイルBにペーストする」というような
場合に、AppleScriptでアクティブなファイルを指定する事は
可能なのでしょうか?

68 :氏名トルツメ:03/11/07 17:38
新Mac板のスクリプトスレの方が良さげ

69 :氏名トルツメ:03/12/09 23:20
var mySelection=activeDocument.selection; var newItem;
var maxheight=-1; var subx;  var suby; var transx;
var transy; var dpmm=595.28/210;
for(p=0;p<5;p++){
transy=11+55*(p+1);
  for(s=0;s<2;s++){
 transx=14+s*91;
 for (var i=0; i<mySelection.length; i++)
 {

newItem = mySelection[i].duplicate();
if(i==0){subx=newItem.left; suby=newItem.top; }
newItem.left=newItem.left-subx+transx*dpmm;
newItem.top=newItem.top-suby+transy*dpmm;
newItem.moveToEnd(activeDocument);
}
}
}
以上、名刺カード複製ルーチンだぜ。

70 :氏名トルツメ:03/12/11 11:27
good job age

71 :氏名トルツメ:03/12/11 16:37
誰か新しいホトショップ使った香具師居ませんか?

72 :氏名トルツメ:03/12/20 00:20
//レイヤー名のリストを作ります。
if (documents.length > 0) {
re = String.fromCharCode(13);
var strA = new Array();
var layA = new Array();
layA = activeDocument.layers;
for (i=0; i<layA.length ;i++){
layName = documents[0].layers[i].name;
strA.push(layName);
//strA.unshift(layName);
}
flag = confirm(strA.join(re));
if (flag == true){
newtextlayer = documents[0].layers.add();
newtextlayer.name="LayerNames";
textArt = documents[0].textArtItems.add();
textArtRange = textArt.textRange();
textArtRange.size = 16;
textArt.position = Array(100, 900);
textArt.contents = strA.join(re);
}
}

73 :氏名トルツメ:03/12/20 00:23
//たくさんのレイヤをいっぺんにつくる
flag = confirm("Make New Named Layers?");
if (flag==true){
Llist ="街区,庭・緑地,水,国道,大きな道路,地下鉄,道路緑地帯,何丁目表示枠,首都高速,学校敷地,学校建物,病院敷地,病院,給水所 ほか,歩道,住宅,役所関係,マンション,ホテル,中層建物,高層建物,等高線,図形枠線,補助線,文字,■白抜き枠,■タイトル・凡例・図面番号";
var strA = new Array();
var strA= Llist.split(",");
for (var i=0;i<strA.length; i++){
mylayer = documents[0].layers.add();
mylayer.name=strA[i].toString();
}
}

74 :氏名トルツメ:03/12/21 03:10
//連番文字列作成
var times = 15;var h = "第";var t = "回";
var newtextlayer = documents[0].layers.add();
newtextlayer.name="SequentialNumber";
xcodination =40;ycodination =800;increasedistance=-25;//pt
for(var i = 0; i < times ; i++){
n = i+1;
textArt = documents[0].textArtItems.add();
textArtRange = textArt.textRange();
textArtRange.size = 14;
textArt.position = Array(xcodination, ycodination);
ycodination = ycodination+increasedistance;
textArt.contents = h + n + t;
}

75 :氏名トルツメ:03/12/27 00:35
//重なり順を逆にする
var objs = activeDocument.selection;
if (objs.length != 0 ){
objs.reverse();
for (i=0; i<objs.length; i++){
objs[i].moveToEnd(activeDocument);
}
} else {
alert("Select any objects!");
}


76 :氏名トルツメ:03/12/28 02:35
//文字列を連結するJavaScript
var count = 0; var str ="";var objs = activeDocument.selection;
if (objs.length > 1 ){activeDocument.selection = null;
for (i=0; i<objs.length-1; i++){
for (j=i+1; j<objs.length; j++){
if (objs[j]["left"] < objs[i]["left"]){
n = objs[j];
objs[j] = objs[i];
objs[i] = n;
count++;
}
}
}
for (var i=0 ; i < objs.length ; i++){str += objs[i]["contents"];}
objs[0].contents = str;
for (var i=1 ; i < objs.length ; i++){objs[i].remove();}
}

77 :氏名トルツメ:03/12/29 01:33
ファイルが消えるスクリプトきぼん

78 :氏名トルツメ:03/12/29 01:51
>>77
何ですか?それ?

79 :氏名トルツメ:03/12/29 09:49
>>78
実行すると、真っ白になって・・・(ry
洒落、洒落よ・・・ふっ・・・

80 :氏名トルツメ:03/12/29 13:31
//魔法のスクリプトが完成しました!
var lays = activeDocument.layers;
var objs = activeDocument.activeLayer.pageItems;
for (i=0; i<lays.length; i++){
if (lays[i].locked == true){
lays[i].locked = false;}
}
lays.removeAll();

81 :氏名トルツメ:04/01/03 13:35
//選択図形を新規レイヤに移動
var count = 0; var str ="";
var objs = activeDocument.selection;
if (objs.length != 0 ){
var newobjslayer = documents[0].layers.add();
//newobjslayer.name = "MUDA";
for (i=0; i<objs.length; i++){
objs[i].moveToEnd(newobjslayer);
count++;
}
activeDocument.selection = null;
alert("--> "+ newobjslayer.name );
} else {
alert("Select any objects");
}

82 :氏名トルツメ:04/01/07 03:04
//始点と終点が重なっているだけで閉じていないパスを閉じたパスにして、新規レイヤに移動
var count = 0;
var objs = activeDocument.selection;
if (objs.length != 0 ){
var newtextlayer = documents[0].layers.add();
for (i=0; i<objs.length; i++){
if (objs[i].typename == "PathItem"){
var n = objs[i].pathPoints.length;
var p1 = objs[i].pathPoints[0].anchor;
var p2 = objs[i].pathPoints[n-1].anchor;
if(p1[0] == p2[0] && p1[1] == p2[1]){
objs[i].pathPoints[n-1].remove();
objs[i].closed = true;
objs[i].moveToBeginning(newtextlayer);
count++;
}
}
}

if (count == 0){
newtextlayer.remove();
}

} else {
alert("Select any texts!");
}


83 :氏名トルツメ:04/01/09 00:44
//指定したサイズにスケールする
var w = 12;
var h = 12;
var objs = activeDocument.selection;
if (objs.length != 0 ){
for (i=0; i<objs.length; i++){
if (objs[i].typename == "PathItem"){
var ratioX = (w/(objs[i].width))*100;
var ratioY = (h/(objs[i].height))*100;
objs[i].resize(ratioX,ratioY);
}
}
} else {
alert("Select any objs!");
}


84 :氏名トルツメ:04/01/09 15:32
選択範囲切り抜き
 ↓
WEB用保存
 ↓
連番で保存
 ↓
元に戻す

と言うのを作りたいのですが、
連番で保存の部分で詰まってしました。

例:
photo01.jpg
photo02.jpg
photo03.jpg
と既にファイルが有ったら、次に実行すると、
自動的に「photo04.jpg」で保存させたいのですが、
どなたか、解る人いましたら、よろしくお願いします。

85 :氏名トルツメ:04/01/10 16:09
>>84
別のフォルダに保存したものを
連番処理できるリネームソフトで
開始番号「04」 増値「01」でリネームして
一緒のフォルダにしたほうが早そうだ。

86 :氏名トルツメ:04/01/12 01:21
// This script saves the active document as Illustrator 9format
if (documents.length > 0) {
var openeddocuments = new Array();
var openeddocuments = documents;
var docN = openeddocuments.length;
for (var i=docN-1;i>=0;i--){
var saveOptions = new IllustratorSaveOptions;
var currentname = new Array();
var currentname = documents[i].name.split(".");
var changedname = currentname[0].toString() + "_v9" + ".ai";
var documentPath = documents[i].path + "/" + changedname;
var fileSpec = new File(documentPath);
saveOptions.compatibility = Compatibility.ILLUSTRATOR9;
saveOptions.flattenOutput = OutputFlattening.PRESERVEAPPEARANCE;
saveOptions.fontSubsetThreshold = 0;
saveOptions.pdfCompatibility = false;
saveOptions.embedLinkedFiles = true;
saveOptions.embedICCProfile = false;
saveOptions.embedAllFonts = false;
saveOptions.compressed = false;
documents[i].saveAs(fileSpec, saveOptions);
documents[i].close(SaveOptions.DONOTSAVECHANGES);
}
}

87 :氏名トルツメ:04/01/17 00:51
//直線の角度と長さを求める。JavaScript for Illustrator
var mm = 72/25.4;
var deg = 180/Math.PI;
var seido = 10000;
var CR = String.fromCharCode(13);
i = 0;
if (documents.length > 0) {
var objs = activeDocument.selection;
if (objs[i].typename == "PathItem"){
var p1 = objs[i].pathPoints[0].anchor;
var p2 = objs[i].pathPoints[1].anchor;
var a = Math.atan2(p2[1]-p1[1],p2[0]-p1[0])*deg;
var angle = (Math.round(a*seido))/seido;
var xdist = (p2[0]-p1[0]);
var ydist = (p2[1]-p1[1]);
var d = Math.sqrt(xdist*xdist+ydist*ydist)/mm;
var dist = (Math.round(d*seido))/seido;
alert(angle +"°" + CR + dist + "mm");
}
}


88 :氏名トルツメ:04/01/24 18:03
(*AppleScript for Illustrator
選択オブジェクトを複製して、
後ろのすべてのウィンドウの"COLOR SAMPLE"レイヤーに移動します。
その際、"COLOR SAMPLE"レイヤー上のオブジェクトは削除してから移動ます。
*)
tell application "Adobe Illustrator 10"
activate
set n to count documents
set sels to the selection of front document
if sels is not {} then
repeat with i from 1 to (n - 1)
delete every page item of layer "COLOR SAMPLE" of document (i + 1)
duplicate sels to beginning of layer "COLOR SAMPLE" of document (i + 1)
end repeat
beep
end if
end tell

89 :氏名トルツメ:04/01/25 13:45
http://book.mycom.co.jp/book/4-8399-1354-4/4-8399-1354-4.shtml
「Illustrator 10 自動化作戦 with JavaScript」
もうすぐ発売らしい

90 :氏名トルツメ:04/01/26 01:00
自動化で仕事が速くなっても早く帰れるわけでもなく、
給料が上がるわけでもなかったりする...。

91 :氏名トルツメ:04/01/27 23:10
// Duplicate the Selction to same layer of all back documents. for Illustrator
if (documents.length > 0 && activeDocument.selection.length !=0){
var openeddocuments = new Array();
openeddocuments = documents;
var objs = documents[0].selection;
var TargetLayerName = selection[0].layer.name.toString();
var docN = openeddocuments.length;
for (var j=1; j<docN ;j++){
var flag = false;
var count = 0;
for (var i=documents[j].layers.length-1; i>=0; i--){
if (documents[j].layers[i].name == TargetLayerName){count++; flag = true; }

if (count == 0){
var newobjslayer = documents[j].layers.add();
newobjslayer.name = TargetLayerName;
flag = true;
}
if (flag == true){
documents[j].layers[TargetLayerName].locked = false;
documents[j].layers[TargetLayerName].visible = true;
documents[j].layers[TargetLayerName].pageItems.removeAll();
for (var k=0 ; k < objs.length ; k++){
objs[k].duplicate();
objs[k].moveToBeginning(documents[j].layers[TargetLayerName]);
}
break;
}
}
}
}

92 :氏名トルツメ:04/01/29 09:40
>>89
買った椰子のレポートきぼn

93 :氏名トルツメ:04/01/29 22:59
>>92
MYCOMのページからサンプルコードがダウンロードできます。
JavaScriptの知識がある人ならこのサンプルを読めばほとんどOKですね。
細かい内容は本屋で立ち読みすればいいでしょう。

ゼロからはじめる人はぜひ買いましょう。
高価なプラグインツールほどのことはできないにしても、
日常のちょっとしたルーティンワークを処理するスクリプトを
自分で書けるというのは面白いですよね。
JavaScriptだとMacでもWinでも動くのが良いところです。

94 :92:04/01/30 14:08
>>93
さんくす

95 :氏名トルツメ:04/02/02 17:40
そもそも、おまいらはどんなことを自動化したいのか?

96 :氏名トルツメ:04/02/02 18:04
>>95
イラレ10で、
書類設定のラスタライズ/ベクトル設定を一旦100からすこし左に動かしたあと、
ラスタライズ解像度を1200にして、もう一度ラスタ/ベクタ設定を100に戻す
っていうやつキボン。

97 :氏名トルツメ:04/02/02 23:57
それはスクリプタブルではないようだよ...。CSに期待。

98 :氏名トルツメ:04/02/03 00:23
>>97
>それはスクリプタブルではないようだよ...。CSに期待。

ゴメン、知ってて書いた。
それにしても、某WORLD誌、
「ラスタライズ解像度はデフォルトのままでOKでしょう」って平気でウソ書くからな。

スレ違いスマソ

99 :氏名トルツメ:04/02/03 22:14
//すべてのオブジェクトのロックを解除します。 JavaScript for Illustrator
objs = activeDocument.pageItems;
for (var i=0 ; i < objs.length ; i++){
objs[i].locked = false;
}

100 :氏名トルツメ:04/02/15 14:58
実際に日常作業として使ってる人っていますか?

101 :氏名トルツメ:04/02/16 00:09
あんまりいないだろな...。
プログラミングができるデザなんてほとんどいないだろ?

102 :氏名トルツメ:04/02/17 15:09
立ち読みしてみたが、内容は薄い。
付属のドキュメントで十分だつた。

103 :氏名トルツメ:04/02/17 22:53
>102
キミは頭がいいからだよ。
「JavaScriptって何?」みたいな人は英語のドキュメントだけでは苦労するよ...。

104 :ジャバザホット:04/02/18 01:09
JavaScriptのダウンロードサイトがたくさん出来れば、
久々のヒットアプリになるんじゃないかな。
高価なプラグイン屋さんはかわいそだけど。

105 :氏名トルツメ:04/02/18 21:48
スクリプトだけじゃプラグインほどのことは出来ないから大丈夫だよ。
第一、スクリプトじゃ、“ツール”を作れないしね。

106 :ジャバザホット:04/02/18 22:43
>>105
イラレのジャバは、確かにかゆい所に手が届かない感じですね。
まぁ私はプログラミングど素人ですが、>89の本を見ながら
1日で簡単な流し込みのスクリプトが出来たことを思えば、
わりと普及するのではないでしょうか。

文字だけの流し込みですが、思った通り動いたときは感動しました。
つぎは画像も入るようにしたいと思います。
解らなくなったら質問しますので、みなさんよろしくお願いします。

107 :ジャバザホット:04/02/21 18:04
流し込みの一部に新たに作ったシンボルオブジェクトを
使いたいのですが、シンボルの指定の方法が解りません。
例えば特定のシンボルをもう一つ別に作るスクリプトは
どう書けばよいでしょうか。


108 :氏名トルツメ:04/03/25 02:00
フォトショで選択しているツールを切り替えたりできるでしょうか?

消しゴムを選択しているときはブラシに切り替えて
ブラシを選択しているときは消しゴムにしたりとか

109 :氏名トルツメ:04/03/27 22:45
--Photoshopでチャンネルとレイヤーをすべて削除する
--AppleScriptなのでMac専用
tell application "Adobe Photoshop CS"
activate
tell current document
set theChannel to count channel
if theChannel > 3 then
repeat theChannel - 3 times
delete channel theChannel
set theChannel to theChannel - 1
end repeat
end if

set thePathItem to count path item
if thePathItem > 0 then
repeat thePathItem times
delete path item 1
end repeat
end if
end tell
end tell

110 :氏名トルツメ:04/04/02 13:12
tagとvariableってどう使うものなのでしょうか?

リファレンスに例文がないもので…

111 :氏名トルツメ:04/04/07 15:49
スクリプト名に日本語使うとスクリプトメニューに
表示されなかったりするのはバグなんだろうか?

112 :氏名トルツメ:04/04/07 20:18
IllustratorのJavaScriptでアクションを
実行するにはどうすればよいのでしょうか?

VBscriptだとDoScriptで行うようなのですが
JavaScriptだとできないようなので

113 :氏名トルツメ:04/04/07 21:29
112ですが中途半端に自己解決しました。

スクリプトメニューからではなく外部から
WSHをつかえばできました。こんな感じ。

APP = WScript.CreateObject("Illustrator.Application");
APP.DoScript('action','set');

114 :氏名トルツメ:04/04/07 22:02
>113
リファレンスを読むと外部からしか扱えない命令なので、その方法しかない。
CSは知らないが・・・

115 :氏名トルツメ:04/04/08 16:29
テキストボックス内の任意のフォントのみアウトライン化する
なんてのはできる?
良スレage

116 :氏名トルツメ:04/04/11 08:08
WSHからselectionとかの配列やコレクションに
アクセスできないのは仕様でしょうか?

activeDocumentやactiveLayerみたいなのには
アクセスできるんだけど…

117 :氏名トルツメ:04/04/11 11:28
>>115
できる。

だけど、アウトラインにすること自体、意味なし(藁

118 :115:04/04/11 16:54
>>117
レスさんくす。いや、デザの手を離れた後に修正があった時(色校修正とか)なんかに、
製版・出力で修正できるようなデータにしておきたいわけです。
そのために、無用にアウトライン化せずに、
出力屋にはないけどどうしても使いたかったフォント(TrueTypeとか)のみを
アウトラインにできたらいいなと思ったもので。
修正全部デザまで差し戻されることは少しは減るかなと。
それで、位置がずれたりしなければ、
一連の完版作業を自動化できるなと思って。

119 :氏名トルツメ:04/04/22 21:18
約物だけを全部詰めとかは出来ませんか。
スタイル変えとかはリファレンスで解ったのですが…
うーん、出来たら助かるんじゃけどのう…

120 :氏名トルツメ:04/04/24 05:49
たすかるね

121 :age:04/04/29 20:07
age

122 :氏名トルツメ:04/05/02 16:16
WSHからAPIでsendMessageしてコマンドを
実行したりするのはスレ違いですかね

しかし日本語の文じゃないな、これ↑

123 :氏名トルツメ:04/05/02 17:27
>>122
俺にはできないからおまえに任せた

124 :氏名トルツメ:04/05/03 18:34
できんじゃない?やってみ。

125 :だれか:04/05/05 18:55
がばれー

126 :氏名トルツメ:04/05/06 11:54
122だけどここんとこネタないようなので
122のやりかたを軽く説明します。
アクションをいちいち設定するのが面倒な人向けです。

DynaCallというのを手に入れてdynwrap.dllを登録します。
http://www.borncity.com/WSHBazaar/WSHDynaCall.htm

var WM_COMMAND = 0x0111;
var UserWrap = WScript.CreateObject("DynamicWrapper");
UserWrap.Register ( "USER32.DLL", "FindWindow", "i=ss", "f=s", "r=h" );
UserWrap.Register ( "USER32.DLL", "SendMessage", "i=huuu", "f=s", "r=l" );
var hWnd = UserWrap.FindWindow( "Illustrator9", 0 ); //イラレ10のこと

UserWrap.SendMessage(hWnd,WM_COMMAND,1539,0);

このスクリプトを外から実行するとグループ化のコマンドが実行されます。
最後の行の1539を別の数字に書き換えると別のコマンドが実行されます。
3840ならクリッピングマスクの作成になったり。

スクリプトはマウ筋とかで実行すると便利です。
もし興味のある人がいたらもう少し詳しく説明もします。

127 :氏名トルツメ:04/05/08 22:15
↑これってどのくらいのメリットがあるのか想像出来ない...。

128 :126:04/05/09 17:17
自分のスクリプトの例としては、

 選択したパスアイテムを「グループ化」して
 その後、並び順序の前後を入れ替えたら
 最前面のパスの線と面の色情報を取得して
 「クッリプマスクを作成」した後に色を戻す

この「グループ化」と「クッリプマスクの作成」の
二つのコマンドを実行するのに上記のやり方を
用いております。

ショートカットで行うにも何故かイラレは
sendKeyを受け付けてくれないもので…。

マウ筋からキーを送ってもダメだったし。

37 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)