一键选择文档中所有含有数字的文字,脚本。
// script.name = highlight_numbers,jsx
// script.description = highlights all numbers in either the selected frames or the whole doucument if nothing is selected.
// script.requirement = Illustrator must be open before running the script
function main () {
var idoc = app.activeDocument;
if (idoc.selection.length == 0) {
var tframes = idoc.textFrames;
}
else {
var tframes = [];
var tframe;
for (var a=0; a<idoc.selection.length; a++) {
tframe = idoc.selection[0];
if (tframe.typename == 'TextFrame') {
tframes.push(tframe);
}
}
}
var range, framecontent;
var reg = /\d+/g;
var rangesToSelect = [];
for (var b=0; b<tframes.length; b++) {
tframe = tframes[b];
framecontent = tframe.contents;
var result;
while (result = reg.exec(framecontent)) { // this always returns 1 element
//$.writeln(result[0] + " | " + result.index);
//$.writeln(result[0].length);
range = tframe.characters[result.index];
range.length = result[0].length;
rangesToSelect.push(range);
}
}
idoc.selection = null;
idoc.selection = rangesToSelect;
}
main();