2010年4月13日火曜日

指定文字を含んだセルの色つけと直接起動

Scriptの勉強をはじめた動機のひとつに昔、断念したScriptがあったのです。
当時、AppleScriptで作ろうとしたのですが、素養がないためダメ。
そこでフォーサイトさんにお願いして作ってもらいました。
で、どんな風に書いてあるのか知りたかったのですが、コンパイルされたものを頂いたのでそれもできず。。。
断念したスクリプトを(JavaScriptで書けるようになりたい!)と思い、古旗本を購入したものの入門者にはちと厳しい(^^;
一足飛びに読み解きから始めたのですが、すぐに行き詰まり、最初から順にPDF本を読んでいます。で、イメージ力のない人間が読むとただ読むだけという状態。。。Scriptってつくづく想像(創造)力の産物だと思います。家にいてもスクリプトの勉強よりもweb巡回ばかり。以前読んだものを忘れる亀足でしか進みません。

そんな中に飛び込んできたサプライズスクリプト

これっ、昔作ろうとして断念したスクリプトに近いものです。
こういう出会いがあるからweb巡回は止められない^^
blogが消滅しないうちにソースをコピペ。
var sel = app.activeDocument.selection[0];

if ((sel.constructor.name == "Cell" ) || (sel.constructor.name == "Table")) {
var clist = "";
for(i=0; i<app.activeDocument.swatches.length; i++) {
clist = clist + app.activeDocument.swatches[i].name + ",";
}
clist = clist.replace ("Registration,", "")
clist = clist.substring (0, clist.length-1)
clist = clist.split (",")
dlg = app.dialogs.add({name:"セル色付け"});
dlc = dlg.dialogColumns.add();
with(dlc.dialogRows.add()){
staticTexts.add({staticLabel:"文字 "});
tmpStr = textEditboxes.add({editContents:""});
}
with(dlc.dialogRows.add()){
staticTexts.add({staticLabel:"色"});
selcolor = dropdowns.add({stringList: clist, selectedIndex:0});}
flag = dlg.show();

if (flag == true) {
Str = tmpStr.editContents;
cstyle = selcolor.stringList[selcolor.selectedIndex];
for (i = 0; i < sel.cells.length; i++) {
if (sel.cells[i].contents == Str) {
sel.cells[i].fillColor = app.activeDocument.swatches.item(cstyle);
}
}
}
}
たぶんCS3で動作すると思うのですが、まだ試してません(というか試せない)。


で、別な話題。
ESTK2でチマチマSampleScriptでアラート表示させてますが、jsxファイルをダブルクリックしても動作しないんですね。AppleScriptのようにダブルクリックで動作したら便利なんですけどね。で、ググったら1行目に

#target "アプリ名"

を書けばいいんですね。で、XPの場合"Finder"と入力しても動作しなかったので、"Bridge"と入力してBridgeを起動させてから動かしてますが、何と書けば直接起動するんですかね。。。


で、もひとつ別な話題。
CS5が発表されたそうな。PDF入稿を普及させるためにショートサイクルで新シリーズをリリースしているとしか思えません。入稿データはPDFでしか受け付けないところも増えてくるのでは? で、どうPDFデータを修正するかですよね。大変だなぁ~。。。
モリサワ主催 「Adobe Creative Suite 5  Design Premium ご紹介セミナー」
東京会場のweb申し込みはあっという間に埋まってしまった。
みんな待ちに待っていたとは思えないのだが。。。何で???

DTPを離れて早や1年が過ぎてしまいました。

0 件のコメント: