(CS3; JavaScript) how effectively "select all" / performing an action

Hi all

while I found little code to run applescript action I need to be able to do from JavaScript. The documentation does not mention at all of the shares.

It would save me a lot of work if I could just perform an action that changes the color of the document to CMYK instead of having to duplicate all objects in a new document (I have already created the action and it works)

This brings me to my other question: are there really no "select all"? It takes almost 2 seconds (at least if the Profiler is right) just to select a simple 300 objects in my test file. I need to batch process something like 30 records that could prove more complex and I don't like the idea to say to my colleagues that they should wait for so long...

Is there a better way that a loop through pageItems and setting .selected = true?

I could imagine performs an action that selects all objects (how to copy actions to others machines. btw?) or to run the shortcut (Ctrl + a).

Thank you very much

Mike

Good evening

Void test_ai()

Set myAi = CreateObject ("illustrator.application.CS4")
Set myDocAi = myAi.ActiveDocument

' - An idea is to show, as a first step, the layers on which you want to select all objects.

myDocAi.Layers ("myLayerWithObjects"). Visible = True
myDocAi.ActiveLayer.Locked = False

myDocAi.Layers ("mySecondLayerWithObjects"). Visible = True
myDocAi.ActiveLayer.Locked = False

' - In a second step, you select all

For each myLayers in myDocAi.Layers
If myLayers.Visible = True Then myLayers.HasSelectedArtwork = True
Next

' - and finally, you define a variable with your selection

myselexion = myAi.Selection

End Sub

After that, you will probably identify each item of your choice.

Best regards

Patrice

Tags: Illustrator

Similar Questions

  • Java Script: How to select all corner points?

    Java Script: How to select all corner points in the open document?

    This may be what you're after.

    Do not expect, this works on the complex paths.* *.

    very tight tolerance defined, this can be changed so smooth should not be too smooth.

    //------------------------------------------------------------------------------------
    //          Select "Sharp" or "Smooth" pathPoints
    //------------------------------------------------------------------------------------
    //
    //          Qwertyfly
    //          06/07/2015
    //          Version 1.0
    //
    //------------------------------------------------------------------------------------
    //
    //          *****Do Not expect this to work on complex paths.*****
    //
    //------------------------------------------------------------------------------------
    //
    //          Set tolerance here (this is in Radians)
    var tolerance = 0.0000000001;
    //
    //------------------------------------------------------------------------------------
    var doc = app.activeDocument;
    var myPoint, angle1, angle2, sel = "";
    var w = new Window('dialog');
    var B1 = w.add('button',undefined,"Select Corner Anchors");
    var B2 = w.add('button',undefined,"Select Smooth Anchors");
    var B3 = w.add('button',undefined,"Cancel");
    B1.onClick = function(){sel = "sharp"; goTime();}
    B2.onClick = function(){sel = "smooth"; goTime();}
    B3.onClick = function(){w.close()}
    w.show()
    function goTime(){
        w.close();
        doc.selection = null;
        for(var i = 0; i < doc.pathItems.length; i++){
            for(var j = 0; j < doc.pathItems[i].pathPoints.length; j++){
                myPoint = doc.pathItems[i].pathPoints[j];
                if(sel == "smooth"){
                    if(isSmooth()){
                        myPoint.selected = PathPointSelection.ANCHORPOINT;
                    }
                }else if(sel == "sharp"){
                    if(!isSmooth()){
                        myPoint.selected = PathPointSelection.ANCHORPOINT;
                    }
                }else{alert("error");}
            }
        }
    }
    function isSmooth(){
        angle1 = Math.atan2(myPoint.leftDirection[1] - myPoint.anchor[1],myPoint.leftDirection[0] - myPoint.anchor[0]);
        angle2 = Math.atan2(myPoint.rightDirection[1] - myPoint.anchor[1],myPoint.rightDirection[0] - myPoint.anchor[0]);
        return(Math.abs((angle1 - angle2)) > Math.PI - tolerance && Math.abs((angle1 - angle2)) < Math.PI + tolerance);
    }
    
  • How to select all text in a table with a single click cell?

    How to select all text in a table with a single click cell? I use TextField.selectAll () when you implement a table cell factory. But when I select a line with a single click, then a click on a table cell again: see the result image

    The text in the table cell is not all selected. What I simply selects all the text in a table cell when there is a click on it. How to realize that? Thank you

    Thanks for help ~.

  • How to select all of the people who are not in any team?

    Hello

    I have a nice SQL expression that gives me accordingly all the "AGENTS" (people) working in a TEAM (a team)

    Select one. "" AGENT_ID. "
    a."NAME" | ' ' || a.' first NAME' 'Name',
    c.libelle 'team ', he said.
    a."DATE_EMBAUCHE" "Hire Date"
    a."DATE_DEBAUCHE" «Date debauchery. "
    of the OBSERVATORY. "" AGENT. "
    b Observatoire.equipe_agents,
    c Observatoire.Equipe
    where a.agent_id = b.agent_id
    and b.equipe_id = c.equipe_id
    order by name

    Now, how to select all the agents who do NOT work in any 'TEAM' (team)?

    I tried but could not succeed!

    Thank you for your help.

    Christian

    Dave solutions use an outer join ((+) in the joints), which should bring back all the records of the agent, even if they do not exist in the equipe_agents table.

    Another approach would be to use a statement NOT EXISTS or NOT IN, for example

    SELECT   *
    FROM     agents a
    WHERE    NOT EXISTS (  SELECT   1
                           FROM     equipe_agents ea
                           WHERE    ea.agent_id = a.agent_id
                         )
    
  • How to select all objects in a document?

    Newbie question WAS:

    I have an active document with two linked files, I need to select both of them in a script and incorporate the two.  Then I'll be in selecting these separate and perform various actions on each.

    In JavaScript, once I have the document object how can I select these two files/items?

    Thank you

    Dave

    This will select all the document and incorporate your files related to assets:

    * a slight change *.

    for (I = app.activeDocument.placedItems.length - 1; i > = 0; i--) {}
    app.activeDocument.placedItems [i] .selected = true;
    app.activeDocument.placedItems [i] .embed ();
    }

    see you soon;

    Post edited by: sonicDream

  • How COUNT (*) SELECT all first before returning SELECT *.

    Our interface involves a grid filled by a SELECT query. The records are retrieved via a complex query with many tables involved and spent many filtering parameters. A simplified example:

    SELECT col1, col2,... colx

    OF tab1 tab2, tab 3 t3 t2, t1, etc.

    WHERE

    T1.Key1 = t2.key1

    and t2.key2 = t3.key2,

    and... etc.

    and t1.coldate > p_FilterDateFrom

    and t1.coldate < p_FilterDateTo

    and t2.somefield = p_FilterSomeFilter

    and t3.someotherfield = p_FilterSomeOtherField

    and... etc.

    Generally, the user enters parameters, so a small, manageable resultset is returned.

    But sometimes the user will enter the parameters that returns thousands of lines. As a result, the frontend in IE makes a break from time to time say ' Stop running this script? A script on this page slows down your web browser to run slowly... »

    I would like to run the above example query with a COUNT (*) SELECT all first before running the actual SELECT col1, col2, col3. This way if the rows returned exceeds a certain threshold, say, 500 lines, I could pop a message saying "more than 500 rows will be returned. Do you want to continue? ». If the user clicks Yes, then I go ahead and perform the actual query and fill the grid. If the user clicks on no, then the user gets a chance to adjust its settings.

    Y at - it an easy way to do short of coding (essentially) two versions of the same complex query, one for "SELECT COUNT (*)" and the other for "SELECT?"

    Thank you.

    Hey, Justin (or someone else). I quite agree with you on this... However, just to play the lawyer of the devil for a second... (or maybe not... so why I asked)

    The COUNT (*) Analytics as a separate and additional column has been added to the query would be a significant hit to the performance? I have simply discarded with a little, but set of samples was not big enough - I'll try a larger, later when I get time.

    something like:

    1. SELECT *.
    2. DE)
    3. SELECT col1, col2,... colx, count (*) NTC)
    4. OF tab1 tab2, tab 3 t3 t2, t1, etc.
    5. WHERE
    6. T1.Key1 = t2.key1
    7. and t2.key2 = t3.key2,
    8. and... etc.
    9. and t1.coldate > p_FilterDateFrom
    10. and t1.coldate<>
    11. and t2.somefield = p_FilterSomeFilter
    12. and t3.someotherfield = p_FilterSomeOtherField
    13. and... etc.
    14. order of something)
    15. where rownum<=>

    So, you can then enter the total number of any line (probably the first) and know how much you have?

    I'm sure it's more work than simply without... However, I guess that the real question... How much better it is than to the separate account? (if applicable)

  • How to select all the other files in a folder?

    I have the folder with 1200 jpg - each 1 a 24 fps movie image. I want to select other images to import in my animation program manager (so my film output will be 12 fps)

    How easily - without having to buy an app - select all OTHER files in the folder?

    (for example some thing help Automator/rename? idk...)

    TIA!

    The Finder, choose utilities go to menu, open the Script Editor and run a script such as:

    Tell application "Finder".

    timeout to 600 seconds

    Set the_files to {}

    Repeat with this_file 1 (count files of the window 1) by 2

    Set the the_files the_files & (this_file window 1 as an alias of the file)

    end repeat

    Select the_files

    end time-out

    tell the end

    (144637)

  • How to select all the text with QNX TextInput

    With QNX TextInput, is there a way to select all the text? Spark TextInput a selectAll() method to select all text, but I do not see a similar method in QNX TextInput. No idea how you can choose all the texts with QNX TextInput. Thank you.

    Hey French,.

    Thanks for the clarification! I think I can help you. Here is a code example to show my explanation. In the code below when a user clicks the LabelButton object it will assign the focus to your TextInput object and then select all the text in this object. The only downside is that it will not bring the keyboard. so far, we are not successfully by invoking the keyboard without the user clicking on the TextInput. in any case in the code below, we use TextInput property the textField object as a reference to the TextField object internal. from there, we use the setSelection() method to select the text inside the object from the start to the end position pos. Here's the same code:

    package
    {
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
        import flash.events.FocusEvent;
        import flash.events.MouseEvent;
    
        import qnx.ui.buttons.LabelButton;
        import qnx.ui.text.TextInput;
    
        [SWF(width="1024",height="600",backgroundColor="#CCCCCC",frameRate="30")]
        public class TextInputTest extends Sprite
        {
    
            private var myInput:TextInput;
    
            public function TextInputTest()
            {
                super();
    
                // support autoOrients
                stage.align = StageAlign.TOP_LEFT;
                stage.scaleMode = StageScaleMode.NO_SCALE;
    
                myInput = new TextInput();
                myInput.setSize(300,50);
    
                addChild(myInput);          
    
                var newBtn:LabelButton = new LabelButton();
                newBtn.label = "Click Me";
                newBtn.setPosition(325, 0);
    
                newBtn.addEventListener(MouseEvent.CLICK, selectMyText);
    
                addChild(newBtn);
    
            }
            private function selectMyText(e:MouseEvent):void
            {
                stage.focus = myInput;
                myInput.textField.setSelection(0, myInput.textField.length);
            }
        }
    }
    

    hope it's what you want. Good luck!

  • Call javascript function when select all is checked the report

    Hi Experts

    Ive a tabular manual from query below

    SELECT Apex_item.checkbox (1, ID, 'onclick = enableButton ()') select, a, b, c of table

    By choosing 1 or more checkbox individually, enableButton() is called, and works very well as expected

    However when select all is done, I do not know how to call the same function

    Position of column select is: < input type = "checkbox" onclick = "$f_CheckFirstColumn (this)" / > (topic is a checkbox, check, selects all rows in the report) "

    I tried: < input type = "checkbox" onclick = "$f_CheckFirstColumn (this)" onclick = "javascritp:enableButton(); "/ >. It does not help

    Is it possible to call the function when select all is checked?

    Thank you

    Archana

    I changed the title of the

    This solved my problem.

    Thank you

  • How to select all the records that have the difference of two dates of greater than a value

    Hi all

    I have a table as below:

    ID creation_date Modify_date

    --                -------------                                                            -----------

    1 10:11:07.243000000 JANUARY 7, 14 H 10:16:16.865000000 7 JANUARY 14 H

    2 13 JANUARY 14 12:07:27.603000000'M 12:08:09.955000000 13 JANUARY 14: 00

    I want to select all the IDs that is difference of Modify_date and creation_date is greater than 5 minutes.

    Please suggest how to achieve this goal, oracle database.

    TIA,

    Bob

    Select *.

    from table_name

    where (Modify_date - creation_date) * 1440 > = 5


    for timestamp:

    Select *.

    from table_name

    where extract (minute (Modify_date - creation_date)) > = 5



    -----

    Ramin Hashimzade

  • How to select all the text in the document?

    I need to select all the text in a long export to RTF document. I only seem to be able to select a story. Any ideas of how I can do?

    Thank you

    Ian

    Cannot be done. You will need to attach all the text boxes in a long history, or to use the 'ExportAllStories.jsx' script that comes with your installation default InDesign.

    There are other alternatives (each using scripts), and the best way may depend on what are your intentions with the exported file - for example, if you want to read back into their original text after the mounting frames, well, there are ways to do it.

  • How to select all the rows in a Table

    Hello

    JDEV 11.1.1.2.0 work.

    I need to select all the lines all in the click of a button, how can I achieve this? Here is table unique selection/multi selection.

    someone can help me.

    Published by: user5802014 on June 30, 2010 08:32

    Rather than try to direct you to the message that I want to say, I'll just copy the code here with credit to Frank Nimphius

    The post is a hyperlink on the word present in the step 5 post of my "how to search in the forum" :)

    RichTable _table = employeesBackingBean.getEmployeeTable1();
       RowKeySet rks = new RowKeySetImpl();
      CollectionModel model = (CollectionModel)_table.getValue();
      int rowCount = model.getRowCount();
          for (int i = 0; i < rowCount; i++) {
               model.setRowIndex(i);
               //note that in the simple POJO case, the row key is the same
               //as the index. However, it would be wrong to just rely on this
               //because other models or custom table models my return a more
               //comples key. Therefore we iterate over the available rows to
               //obtain the keys.
               Object key = model.getRowKey();
               //add the row keys to the RowKeySet to mark selected
               rks.add(key);
           }
       _table.setSelectedRowKeys(rks);
       AdfFacesContext.getCurrentInstance().addPartialTarget(_table);
    
  • How to select all the values populated both of LOV

    Hi all.

    I developed a form containing fields in a table. I join these areas a LOV (which get values in the other table). Now, I have to select a value only once for each record.
    But my question is how to map all the LOV values to these fields at a time. If it is possible what exactly is the way.
    If this is not possible then what is the way to do that.

    Thanks in advance

    Hello!
    Try using this code.
    You will get a lot of messages, but you can discover what column could not be red:

    declare
    l_group recordgroup := find_group ( 'lov27' );
    l_result pls_integer;
    begin
    if
      show_lov --> show the lov and user selected a value
    then
      l_result := populate_group ( l_group );
      clear_record;
      for i in 1..get_group_row_count ( l_group ) loop
        message ( 'reading  personal no' );
        :bill_detail.personal_no := get_group_char_cell ( 'lov27.personal_no', i );
        message ( 'reading  name' );
        :bill_detail.name := get_group_char_cell ( 'lov27.name', i );
        message ( 'reading  desigantion' );
        :bill_detail.designation := get_group_char_cell ( 'lov27.designation', i );
        message ( 'reading  rank' );
        :bill_detail.rank := get_group_char_cell ( 'lov27.rank', i );
        message ( 'reading  basic scale' );
        :bill_detail.basic_scale := get_group_number_cell ( 'lov27.basic_scale', i );
        message ( 'reading  basic pay' );
        :bill_detail.basic_pay := get_group_number_cell ( 'lov27.basic_pay', i );
        message ( 'reading  basic pay' );
        :bill_detail.vendor_no := get_group_number_cell ( 'lov27.vendor_no', i );
        message ( 'reading  branch code' );
        :bill_detail.branch_code := get_group_number_cell ( 'lov27.branch_code', i );
        message ( 'reading  sr no' );
        :bill_detail.sr_no := get_group_number_cell ( 'lov27.sr_no', i );
        create_record;
      end loop;
    first_record;
    end if;
    end;
    
  • How to select all the text in an EditField?

    Hello

    I'm trying to select all of the text in an EditField using:

    EditField editField = new EditField("Label:", "ABC", EditField.DEFAULT_MAXCHARS, 0);
    editField.setSelection(0, true, editField.getText.lenght());
    

    but the text is not selected. Any idea? Thank you

    I do not see a method called setSelection in EditField docs, so not sure what it does even if it exists. Compile your code?

    When I need to select text, I use something like this:

    editField.select (false);

    editField.setCursorPosition (index1);

    editField.select (true);

    editField.setCursorPosition (index2);

    The text between index1 and index2 is selected.

  • How to select all the text fields at a given time in Adobe Reader ms?

    I created a document that contains more than one text field I created with Acrobat Pro DC, I want to allow the user the ability to select all fields in order to change the text size/color and fonts at the same time... not having to go through the entire form and must make each field separately. To be a little more specific, the document is two pages with six place/lounge cards per page, designed for weddings and other events. Each place card has a field for 'user name' and ' number of table: my question is...» Is it possible to 'select all fields' in Adobe Reader? If I go to Edition > select all, the program selects all graphics and none of the text fields. Not exactly what I'm missing here and I can not find my answer online. Any information would be greatly appreciated.

    Thank you!

    Jodi

    In this case, you can only change the properties of the text selected within a field. Acrobat Reader cannot change the properties of the text field.

Maybe you are looking for