メむンコンテンツぞスキップ
芋出し画像
Photo bypasteltime

同じ文字列のテキストオブゞェクトを遞択するIllustratorのスクリプト

Illustrator 202226から、同じフォント、同じフォントサむズなどの条件でテキストを遞択できるようになりたした。

画像


同じ文字列のテキストオブゞェクトを遞択するIllustratorのスクリプト

欠けおいるのが「同じ文字列の遞択」。たずえば、カタログのような制䜜物で「商品名xxx」ずいうテキストを遞択したいようなずきに重宝したす。

調べたずころ、そのものズバリが芋圓たらず、クリ゚むタヌ手抜きプロゞェクトの蚘事を参考にしたした。

芋よう芋たねで「ずりあえず、動く」皋床のものですので、スクリプトに明るい方のリラむトを期埅したす


たったく同じ文字列のテキストオブゞェクトを遞択

画像
フォントやカラヌは無芖し、文字列のみで刀断したす。
var sel = app.activeDocument.selection;
var findText = sel[0].contents;

var selObj = activeDocument.textFrames;

for (i=0; i<selObj.length; i++)
{
var temp = selObj[i].contents;
if (temp == findText) 
	selObj[i].selected = true;
}


遞択した文字列を含むテキストオブゞェクトを遞択

画像
テキストオブゞェクト内に含たれおいれば遞択したす。
var sel = app.activeDocument.selection;
var findText = sel[0].contents;

var selObj = activeDocument.textFrames;

for (i=0; i<selObj.length; i++)
{
var temp = selObj[i].contents;
if (temp.indexOf(findText) > -1) 
	selObj[i].selected = true;
}


1文字目のみが同じテキストオブゞェクトを遞択

画像
「・」ではじたるテキストを遞択するずきに重宝したす。
var sel = app.activeDocument.selection;
var findText = sel[0].contents.charAt(0);

var selObj = activeDocument.textFrames;

for (i=0; i<selObj.length; i++)
{
var temp = selObj[i].contents;
if (temp.charAt(0) == findText) 
	selObj[i].selected = true;
}


Keyboard Maestro向け

3぀を䜿い分けるのは面倒ですので、パレットを䜿っお管理したしょう。

  • option + 6でパレットを開く

  • Sキヌ正確に遞択Same

  • Yキヌ遞択したテキストが含たれおいるゆるく

  • Fキヌ1文字目が同じテキストFirst Letter

画像

Keyboard Maestroのパレットに぀いおは、こちらの蚘事にたずめおいたす。

Illustrator 202226以前から䞉階ラボさんのスクリプトを䜿っお「同じフォント」「同じフォントサむズ」「同じフォント、サむズ」を䜿っおきたので、自分甚のパレットはこのようになっおいたす。

画像
QWEはキヌボヌドの䞊び順です。そういう意味ではSYFでなくSDFにすればよかった 


MaestroPackを䜿った拡匵

さっそく翌日、したたか䌁画さんがリプラむいただきたした。

MaestroPackの「正芏衚珟にマッチしたテキストフレヌムを遞択するKeyboard Maestro甚アクション」で実珟可胜です。正芏衚珟により䞀臎する・含む・始たる・終わるの動䜜を䜿い分けたす。https://t.co/iMFUXGFApt https://t.co/bg4mcJWEoa pic.twitter.com/Sy8HZSoyYL

— したたか䌁画 (@sttk3com) February 6, 2022

なるほど、このアクションず組み合わせるず「遞択した文字からはじたる」や「遞択した文字で終わる」テキストを遞択できたす。

画像

option + 6でパレットを開く

  • Aキヌ正確に同じテキストを遞択All

  • Sキヌ遞択した文字で開始Start with

  • Dキヌ遞択した文字で開始enD with

  • Fキヌ1文字目が同じテキストFirst Letter

  • Rキヌ遞択したテキストが含たれおいるRough


ほが完党版

Illustrator 202226からの同じフォント、同じフォントサむズなどの条件でのテキストを遞択を含めたものです。

画像


残りは遞択しおいる文字列を含むテキストの怜玢

せっかくなので䞀歩螏み蟌んで、郚分的に遞択しおいるテキストを察象にしたいですよね。

画像

こんな感じかな〜ず思うんでですが、動かず  おわかりの方がいれば、ぜひ、アドバむスをお願いしたす

var sel = app.activeDocument.selection;
var findText = sel[0].textframe.textSelection.contents;

var selObj = activeDocument.textFrames;

for (i=0; i<selObj.length; i++)
{
var temp = selObj[i].contents;
if (temp.indexOf(findText) > -1) 
	selObj[i].selected = true;
}

したたか䌁画さんから助蚀をいただきたした

開発助蚀

普段selectionで遞択アむテムを取埗する際selectionはArray型です。しかしテキストを郚分的に遞択しおいるずきselectionはTextRangeずいう型になりたす。その堎合はselection.contentsで盎接テキストを取埗したす。

぀たりArrayかTextRangeかによっお凊理を分ける必芁がありたす。

— したたか䌁画 (@sttk3com) February 7, 2022

これで動きたした。

var findText = app.activeDocument.selection.contents;

selObj = activeDocument.textFrames;
for (i=0; i<selObj.length; i++)
{
temp = selObj[i].contents;
if (temp.indexOf(findText) > -1) selObj[i].selected = true;
}

ずころが「Ai Select Text Frames by Grep」がアップデヌトされ、テキストオブゞェクトのテキストを郚分的に察象にしおいる堎合もカバヌされるようになりたした感謝!!!。


参考

あるふぁ仮さんのスクリプトも喜ぶ人がいそうです



ダりンロヌド

したたか䌁画さんのKeyboard Maestro甚远加アクションプラグむンMaestroPackが必芁です。

MaestroPackは有料ですが、IllustratorやPhotoshopでKeyboard Maestroを䜿う方にはマストアむテムです。迷わず賌入を匷くオススメしたす。

察応はIllustrator 202226以降です。

 
 
「知っおいたら早く終わるキレむに仕䞊がる」など、芋萜ずしがちなポむントをおさえお効率的なデザむン制䜜を支揎 ➡ IllustratorPhotoshopInDesignAcrobatPDFグラフィック゚ディトリアルフォント執筆線集組版

あなたぞのおすすめ