3

12 と 14pt (12.1、12.2 などを含む) など、2 つの値の間のサイズを持つすべてのテキスト オブジェクトを選択する必要があります。これはまったく可能ですか?

4

1 に答える 1

6

これはスクリプトの候補のようです。これを試して:

function selectTextWhosePointSizeIs ( minPointSize, maxPointSize )
{
    var doc, tfs, i = 0, n = 0, selectionArray = [];

    if ( !app.documents.length ) { return; }

    doc = app.activeDocument;
    tfs = doc.textFrames;
    n = tfs.length;

    if ( !n ){ return; }

    if ( isNaN ( minPointSize ) )
    {
        alert(minPointSize + " is not a valid number" );
        return;
    }
    else if ( isNaN ( maxPointSize ) )
    {
        alert(maxPointSize + " is not a valid number" );
        return;
    }
    else if ( minPointSize > maxPointSize )
    {
        alert(minPointSize + " can't be greater than "+ maxPointSize);
        return;
    }

    for ( i = 0 ; i < n ; i++ )
    {
        if ( tfs[i].textRange.size >= minPointSize && tfs[i].textRange.size <= maxPointSize )
        {
            selectionArray [ selectionArray.length ] = tfs[i];
        }
    }

    if ( selectionArray.length )
    {
        app.selection = selectionArray;
    }
    else
    {
        alert("Nothing found in this range.");
    }
}

selectTextWhosePointSizeIs ( 12, 14 );

それが役に立てば幸い、

Loic

于 2012-06-23T21:06:37.227 に答える