Script to align selected objects to artboard

Hello, I was wondering if anyone had a simple solution to aligning selected items to the artboard. I was going to create an action but then realized it would be more convenient for me to include it in my script file....I have a script to align objects with each other but they dont align to the artboard. Any suggestions?

Hello volocitygraphics,
here is a quick&dirty solution.
Note that the result may be different, if clipping masks are exists in the document.
Please test it at first on copies of your documents. Use it on your own risk.
// ArtboardCenterAroundSelectedPaths.jsx
// works with CS5
// http://forums.adobe.com/thread/1336506?tstart=0
// (title: script to align selected objects to artboard)
// quick & dirty, all selected items will be centered at the active artboard 
// (include clipping paths  !visible result can be different)
// regards pixxxelschubser  19.Nov. 2013
var aDoc = app.activeDocument;
var Sel = aDoc.selection;
if (Sel.length >0 ) {
    var abIdx = aDoc.artboards.getActiveArtboardIndex();
    var actAbBds = aDoc.artboards[abIdx].artboardRect;
    var vBounds = Sel[0].visibleBounds;
    vBounds_Li = vBounds[0];
    vBounds_Ob = vBounds[1];
    vBounds_Re = vBounds[2];
    vBounds_Un = vBounds[3];
if (Sel.length >1 ) {   
    for (i=1; i<Sel.length ; i++) {
        vBdsI = Sel[i].visibleBounds;
        if( vBounds_Li > vBdsI[0] ) {vBounds_Li = vBdsI[0]};
        if( vBounds_Ob < vBdsI[1] ) {vBounds_Ob = vBdsI[1]};
        if( vBounds_Re < vBdsI[2] ) {vBounds_Re = vBdsI[2]};
        if( vBounds_Un > vBdsI[3] ) {vBounds_Un = vBdsI[3]};
    aDoc.artboards[abIdx].artboardRect = [vBounds_Li +((vBounds_Re - vBounds_Li)/2-(actAbBds[2]-actAbBds[0])/2), vBounds_Ob -((vBounds_Ob - vBounds_Un)/2+(actAbBds[3]-actAbBds[1])/2), vBounds_Li +((vBounds_Re - vBounds_Li)/2-(actAbBds[2]-actAbBds[0])/2)+(actAbBds[2]-actAbBds[0]), vBounds_Ob -((vBounds_Ob - vBounds_Un)/2+(actAbBds[3]-actAbBds[1])/2)+(actAbBds[3]-actAbBds[1])];
    } else {
        alert ("No selection");
I hope so, the document coordinatesystem is the same as in CS6+
Have fun

Similar Messages

  • Script for making an object the artboard size.

    I am looking for some help on trying to make an object the exact size of the artboard.  This is something I do on a daily basis for several different reasons and it would be very helpful if this can happen automatically for whatever size the artboard may be.  As I understand it the only way is with a script but I have no experience with making illustrator scripts, im definately no programmer.  I have set up quickkeys in the past to copy from the artboard inputs when you are on the artboard tool but these round to the nearest .01 and this is not accurate enough for what I am working with.  Also if I do this with multiple pages open illustrator is very slow to respond to the artboard tool.  If anyone has any idea where to start or has seen other such scripts I would greatly appreciate it.  Thank you.
    Below is a script that I saw on here that I believe may contain what I need but now knowing programming I have no idea where to start on editing.  All I need is the part where an object is placed on the artboard that is the exact same size as the artboard.  If anyone can advise on editing I would greatly apprecaite it.
    #target illustrator
    function main() {
         if (app.documents.length == 0) {
              alert('Open a document before running this script');
              return; // Stop script here no doc open…
         } else {
              var docRef = app.activeDocument;
              with (docRef) {
                   if (selection.length == 0) {
                        alert('No items are selected…');
                        return; // Stop script here with no selection…
                   if (selection.length > 1) {
                        alert('Too many items are selected…');
                        return; // Stop script here with selection Array…
                   } else {                   
                        var selVB = selection[0].visibleBounds;
                        var rectTop = selVB[1] + 36;
                        var rectLeft = selVB[0] - 36;
                        var rectWidth = (selVB[2] - selVB[0]) + 72;
                        var rectHeight = (selVB[1] - selVB[3]) + 72;              
                        selection[0].parent.name = 'CC';
                        selection[0].filled = false;
                        selection[0].stroked = true;
                        var ccColor = cmykColor(0, 100, 0, 0);              
                        var ccCol = spots.add()
                        ccCol.name = 'CC';
                        ccCol.color = ccColor;
                        ccCol.tint = 100;
                        ccCol.colorType = ColorModel.SPOT;
                        var cc = new SpotColor();
                        cc.spot = ccCol;                   
                        selection[0].strokeColor = cc;
                        selection[0].strokeWidth = 1;                   
                        var tcLayer = layers.add();
                        tcLayer.name = 'TC';
                        var padBox = pathItems.rectangle(rectTop, rectLeft, rectWidth, rectHeight, false);
                        padBox.stroked = false;
                        padBox.filled = true;
                        var tcColor = cmykColor(0, 100, 90, 0);         
                        var tcCol = spots.add()
                        tcCol.name = 'TC';
                        tcCol.color = tcColor;
                        tcCol.tint = 100;
                        tcCol.colorType = ColorModel.SPOT;
                        var tc = new SpotColor();
                        tc.spot = tcCol;
                        padBox.fillColor = tc;    
                        padBox.move(docRef, ElementPlacement.PLACEATEND);
                        artboards[0].artboardRect = (padBox.visibleBounds);
                        redraw();
                        rectWidth = (rectWidth-72)/72;
                        rectWidth = roundToDP(rectWidth,1);
                        rectHeight = (rectHeight-72)/72;
                        rectHeight = roundToDP(rectHeight,1);
                        var textString = rectWidth + ' x ' + rectHeight;
                        prompt('Copy Me', textString);
    main();
    function roundToDP(nbr, dP) {
         dpNbr = Math.round(nbr*Math.pow(10,dP))/Math.pow(10,dP);
         return dpNbr;
    function cmykColor(c, m, y, k) {
         var newCMYK = new CMYKColor();
         newCMYK.cyan = c;
         newCMYK.magenta = m;
         newCMYK.yellow = y;
         newCMYK.black = k;
         return newCMYK;

    Thanks to CarlosCanto for the original script, it was very a very helpful starting point to optimize one of our workflows. We customized it a bit to maintain the aspect ratio (just takes the greater of the width / height and scales proportionally to the artboard size), and also center up the object in the middle of the artboard once scaling is complete. I hope it is helpful to someone:
    #target Illustrator
    //  script.name = fitObjectToArtboardBounds.jsx;
    //  script.description = resizes selected object to fit exactly to Active Artboard Bounds;
    //  script.required = select ONE object before running; CS4 & CS5 Only.
    //  script.parent = carlos canto // 01/25/12;
    //  script.elegant = false;
    var idoc = app.activeDocument;
    selec = idoc.selection;
    if (selec.length==1)
            // get document bounds
            var docw = idoc.width;
            var doch = idoc.height;
            var activeAB = idoc.artboards[idoc.artboards.getActiveArtboardIndex()]; // get active AB
            docLeft = activeAB.artboardRect[0];
            docTop = activeAB.artboardRect[1];
            // get selection bounds
            var sel = idoc.selection[0];
            var selVB = sel.visibleBounds;
            var selVw = selVB[2]-selVB[0];
            var selVh = selVB[1]-selVB[3];
            var selGB = sel.geometricBounds;
            var selGw = selGB[2]-selGB[0];
            var selGh = selGB[1]-selGB[3];
            // get the difference between Visible & Geometric Bounds
            var deltaX = selVw-selGw;
            var deltaY = selVh-selGh;
            if (sel.width > sel.height) {
                var newWidth = docw-deltaX;
                var ratio = sel.width / newWidth;
                sel.width = newWidth; // width is Geometric width, so we need to make it smaller...to accomodate the visible portion.
                sel.height = sel.height * ratio;
            } else {
                var newHeight = doch-deltaY;
                var ratio = sel.height / newHeight;
                sel.height = newHeight;
                sel.width = sel.width / ratio;
            sel.top = (doch / 2) - (sel.height / 2);
            sel.left = (docw / 2) - (sel.width / 2);
        else
                alert("select ONE object before running");

  • Querying for a script insert multiple selected objects...

    Is there a script or plugin which insert multiple selected objects in one new text frame with one click?
    And is there a script or plugin which extract the content of anchored text frame out it's frame and replace it with it's frame. and extract selected text and insert it inside a new anchored text frame in it's place? (like convert text to table - convert table to text, but instead table we use text frame)

    Hi,
    Using OMB scripting to set attribute properties in a data mapping sort of defeats the purpose of utilizing a graphical user interface to define and set properties for a data mapping? Surely the GUI data mapping tool was created to get away from writing scripts and scripting would also require that you know the name of the data mapping, table operator and the set of attribute names for which you have to write one line of script to set each property value, i.e. 90 lines to set 90 attribute values.
    Cheers,
    Phil

  • Script to apply a random CMYK swatches from a group of swatches to selected objects.

    I would like to write some scripts for randomising the allocation of swatches to adjacent object.
    Example:
    Imagine a map of Europe and all her nation states/territories. I have a User Defined Swatch Library. I can open the AI document it was made from as I understand from this thread that having the swatches as objects on the page makes them easier to be referenced in a script. 
    I want to iterate through the selected objects and randomly assign one of the colours in the swatch document as a fill to each object. It would be great if hidden swatches (they are all small rectangular 'colour chip' filled paths) on page were not included in the reference swatches randomly choosen from.
    Iterating the selected objects I can do, but not sure what references I need to use to create an array of swatches to randomly choose from.
    I see I can make an array of swatches using the general swatch group from Adobe's CreateSwatchGroup scripts:
    JS
    var docRef = app.documents.add(DocumentColorSpace.CMYK)
    // Create a new SwatchGroup
    var swatchGroup = docRef.swatchGroups.add();
    swatchGroup.name = "CreateSwatchGroup";
    // Get list of swatches in general swatch group
    var genSwatchGroup = docRef.swatchGroups[0];
    // Collect 5 random swatches from general swatch group and move to new group
    var i = 0;
    while (i < 5) {
              var swatches = genSwatchGroup.getAllSwatches();
              swatchCount = swatches.length;
              var swatchIndex = Math.round(Math.random() * (swatchCount - 1)); // 0-based index
              // New swatch group does not allow patterns or gradients
              if (swatches[swatchIndex].color.typename != "PatternColor" && swatches[swatchIndex].color.typename != "GradientColor") {
                        swatchGroup.addSwatch(swatches[swatchIndex]);
                        i++;
    // Updates swatch list with swatches moved to new swatch group
    swatches = swatchGroup.getAllSwatches();
    // [… etc etc]
    AS
    tell application "Adobe Illustrator"
    activate
              set docRef to make new document with properties {color space:CMYK}
    -- Create a new SwatchGroup
              set swatchGroupRef to make new swatchgroup in current document with properties {name:"CreateSwatchGroup"}
    -- Get list of swatches in general swatch group
              set genSwatchGroup to swatchgroup 1 of docRef
    -- Collect 5 random swatches from the general swatch group and move to new group
              set i to 0
              repeat until i is 5
                        set swatchesRef to get all swatches genSwatchGroup
                        set swatchCount to count every item in swatchesRef
                        set swatchIndex to random number from 1 to swatchCount
                        set currentSwatch to item swatchIndex of swatchesRef
      -- New swatch group does not allow patterns or gradients
                        if class of color of currentSwatch is not pattern color info and class of color of currentSwatch is not gradient color info then
      add swatch swatchGroupRef swatch currentSwatch
                                  set i to i + 1
                        end if
              end repeat
    -- [… etc etc]
    If someone can help me to create the Swatch Array object of swatches loaded from a seperate document (or unique layer) then I think I can work my way to changing the fill on the existing paths (the nations in my map of Europe example).
    Would be very cool if I could detect neighbooring paths (nieghbooring nations in my map of Europe example) make sure the colour being assigned is not within a certain hue/CMYK range of the random colour and if it is rechoose random colour. I have no idea how to perform the logic of determining neighbooring paths in an Illustartor script. Anybody?!
    I'd prefer Applescript for sake of readiblity and also I'm learning AS ATM. Plus I'm using Script Debugger.app (which is excellent) to work with AS and I can't seem to run JSX scripts from within Extend Script Toolkit 2 (perhaps I need to make my scripts point to Illustrator?)
    But Javascript is okay if someone has this covered already :-)

    I would like to write some scripts for randomising the allocation of swatches to adjacent object.
    Example:
    Imagine a map of Europe and all her nation states/territories. I have a User Defined Swatch Library. I can open the AI document it was made from as I understand from this thread that having the swatches as objects on the page makes them easier to be referenced in a script. 
    I want to iterate through the selected objects and randomly assign one of the colours in the swatch document as a fill to each object. It would be great if hidden swatches (they are all small rectangular 'colour chip' filled paths) on page were not included in the reference swatches randomly choosen from.
    Iterating the selected objects I can do, but not sure what references I need to use to create an array of swatches to randomly choose from.
    I see I can make an array of swatches using the general swatch group from Adobe's CreateSwatchGroup scripts:
    JS
    var docRef = app.documents.add(DocumentColorSpace.CMYK)
    // Create a new SwatchGroup
    var swatchGroup = docRef.swatchGroups.add();
    swatchGroup.name = "CreateSwatchGroup";
    // Get list of swatches in general swatch group
    var genSwatchGroup = docRef.swatchGroups[0];
    // Collect 5 random swatches from general swatch group and move to new group
    var i = 0;
    while (i < 5) {
              var swatches = genSwatchGroup.getAllSwatches();
              swatchCount = swatches.length;
              var swatchIndex = Math.round(Math.random() * (swatchCount - 1)); // 0-based index
              // New swatch group does not allow patterns or gradients
              if (swatches[swatchIndex].color.typename != "PatternColor" && swatches[swatchIndex].color.typename != "GradientColor") {
                        swatchGroup.addSwatch(swatches[swatchIndex]);
                        i++;
    // Updates swatch list with swatches moved to new swatch group
    swatches = swatchGroup.getAllSwatches();
    // [… etc etc]
    AS
    tell application "Adobe Illustrator"
    activate
              set docRef to make new document with properties {color space:CMYK}
    -- Create a new SwatchGroup
              set swatchGroupRef to make new swatchgroup in current document with properties {name:"CreateSwatchGroup"}
    -- Get list of swatches in general swatch group
              set genSwatchGroup to swatchgroup 1 of docRef
    -- Collect 5 random swatches from the general swatch group and move to new group
              set i to 0
              repeat until i is 5
                        set swatchesRef to get all swatches genSwatchGroup
                        set swatchCount to count every item in swatchesRef
                        set swatchIndex to random number from 1 to swatchCount
                        set currentSwatch to item swatchIndex of swatchesRef
      -- New swatch group does not allow patterns or gradients
                        if class of color of currentSwatch is not pattern color info and class of color of currentSwatch is not gradient color info then
      add swatch swatchGroupRef swatch currentSwatch
                                  set i to i + 1
                        end if
              end repeat
    -- [… etc etc]
    If someone can help me to create the Swatch Array object of swatches loaded from a seperate document (or unique layer) then I think I can work my way to changing the fill on the existing paths (the nations in my map of Europe example).
    Would be very cool if I could detect neighbooring paths (nieghbooring nations in my map of Europe example) make sure the colour being assigned is not within a certain hue/CMYK range of the random colour and if it is rechoose random colour. I have no idea how to perform the logic of determining neighbooring paths in an Illustartor script. Anybody?!
    I'd prefer Applescript for sake of readiblity and also I'm learning AS ATM. Plus I'm using Script Debugger.app (which is excellent) to work with AS and I can't seem to run JSX scripts from within Extend Script Toolkit 2 (perhaps I need to make my scripts point to Illustrator?)
    But Javascript is okay if someone has this covered already :-)

  • Auto-zoom to selected object?

    I have a mystery ghost path that I can't find. It shows up in the layer palette. But I can't see it on my artboard. I have Show Bounding Box and Show Edges turned on. I alt/option click the layer to select everything. But there's nothing selected on my artboard. (And my artboard is sized to fit artwork bounds).
    Are there any scripts to auto-zoom/scroll the canvas to a selected object? Most 3D apps have a "Frame Object" command that moves and zooms the camera to make the selected object centered on the screen. Is there something like that for Illustrator?

    I don't think so. Just lock down anything you want to keep, Select All, and hit delete. The phantom guide should go away.

  • Align New objects to pixel grid does not seem to work - Windows 7

    Here is another issue I've been struggling with for a while.
    Scenario:
    1. Working on a web UI, so want to use pixel grid, which is handy. So I create a new document, web profile and making sure 'Align New Objects to Pixel Grid' is selected:
    2. Yay! We have a nice and clean new document, cannot wait to start drawing rectangles! But let's double-check if everything is hunky dory:
    3. Right! Let's go and start making rectangles!
    4. And NOOOOOOOO!!!! As you can see in the image above, the rectangle is not aligned to pixel grid (look at the values), and it's "Align to pixel grid" option is not selected. Let's triple-check our options:
    So yeah, there you go. It's all lies! You have to check the check box AFTER you create the shapes FOR EACH SHAPE!
    Illustrator why you do this?! What am I missing here?!
    Windows 7 Ultimate
    AI 18.1.1 (64-bit)

    kaanungur,
    I am afraid you have come across the Live Rectangle bug sorry feature where it refuses to align to the Pixel Grid.
    To get round it in each case, it is possible to Expand the Live Rectangles to get normal old fashioned rectangles, or to Pathfinder>Unite, or to use the Scale Tool or the Free Transform Tool.
    A more permanent way round that is to create normal old fashioned rectangles, after running the free script created by Pawel, see this thread with download link:
    https://forums.adobe.com/thread/1587587

  • Adobe CC 2014 Align to center of artboard no longer working

    When I group objects and try to align them to the artboard, they go to the middle of the lower right quadrant.
    adobe illhttp://i.imgur.com/kuPM8nh.png

    It's working for me. What are your steps?
    Group Items
    Select "Align to artboard" option
    Click "Horizontal" and "Vertical" align center.

  • Resizing selected objects

    Ok, so I am trying to write a script that resizes an object that is selected. I have two objects selected, the one on top is a group item, the one below it is a rectangle. I am trying to resize the rectangle to the size of the group item on top of it with a little margin around it. Here is what I have so far.
    var design = app.activeDocument.selection[0];
         var top=design.visibleBounds[1]+5*2; 
         var left=design.visibleBounds[0]-5*2; 
         var width=design.visibleBounds[2]-design.visibleBounds[0]+10*2;
         var height=design.visibleBounds[1]-design.visibleBounds[3]+10*2;
    var background = app.activeDocument.selection[1];
    background.position = (top, left, width, height);
    The problem is the last line there. I'm not sure how to manipulate the position/size of the selected object or if it is even possible I have searched for it and haven not found an answer. Thanks in advance!

    position property expects an Array, with x and y values, in that order. As for the width and height properties, use them in separate statements
    background.position = [left, top];
    background.width = width;
    background.height = height;

  • Need script to disable selected users in BOEXI 3.1

    Hi,
    I am looking for a script to disable selected users. I have a query builder query which I want to use in that script to disable users.
    SELECT SI_NAME, SI_LASTLOGONTIME, SI_CREATION_TIME FROM CI_SYSTEMOBJECTS WHERE SI_NAME NOT IN ('ADMINISTRATOR','GUEST') AND SI_KIND='USER' AND SI_CREATION_TIME <= '2012.12.31' AND SI_LASTLOGONTIME IS NULL ORDER BY SI_NAME
    Please help.
    Regards,
    Lokesh

    Received following error:
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Exception in JSP: /disableuser.jsp:52
    49:     Object[] objs = boAliases.toArray();
    50:  
    51:     // Get the first one
    52:     IUserAlias myAlias = (IUserAlias)objs[0];
    53:  
    54:     // and disable it
    55:     myAlias.setDisabled(true);
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    java.lang.ArrayIndexOutOfBoundsException: 0
    org.apache.jsp.disableuser_jsp._jspService(disableuser_jsp.java:100)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    I restarted tomcat and cleared cache as well.
    Regards,
    Lokesh

  • Align New Objects to Pixel Grid by Layer

    It would be very nice to have the setting "Align New Objects to Pixel Grid" at the layer level.

    kaanungur,
    I am afraid you have come across the Live Rectangle bug sorry feature where it refuses to align to the Pixel Grid.
    To get round it in each case, it is possible to Expand the Live Rectangles to get normal old fashioned rectangles, or to Pathfinder>Unite, or to use the Scale Tool or the Free Transform Tool.
    A more permanent way round that is to create normal old fashioned rectangles, after running the free script created by Pawel, see this thread with download link:
    https://forums.adobe.com/thread/1587587

  • How to use Magic Wand to select in Active Artboard only - CS5

    I've run into a problem that I would think already has a solution. I have a layout with 7 artboards, each a variation on a logo design. I want to select a specific color, but only in the active artboard. The Magic Wand would seem to be the right choice, but I see no way of specifying this. Every attempt I make, the color is selected in every artboard that it exists. I know that Select All can narrow its scope to the active artboard by adding the option key to the command but see no equivalent for the Magic Wand. Am I missing something or is Illustrator missing the ability?

    Use locking or hiding to make you selection.
    Draw a frame around the elements on one artbaord
    Select >> Inverse
    Object >> Lock
    (use your magic wand and make your change)
    Object unlock all

  • Help too selecting object [JS]

    Hi there
    I am problems selecting an object by it id or label. In my script a list items on on page and if the text are using ParagraphStyleName "Itembox 9" i save it in array.
    But how do i select the object by id or label ?
    I have to do this to make changes on the object later.
    Does anyone know about good books on indesign scripting  with javascript ?
    Regards
    TT.
    test()
    function test(){
    var myDocument = app.documents.item(0);
    var myElement = myDocument.pages.item(0).pageItems;
    var myObjectsToSelect = new Array;
    for(myItemCounter = 0; myItemCounter < myElement.length; myItemCounter ++){
          var myElementID = myElement[myItemCounter].id;
       try {
        var myTextParagraphStyleName = myElement[myItemCounter].parentStory.appliedParagraphStyle.name;
           if(myTextParagraphStyleName == "item_box_9"){
               $.writeln("Element Id ", myElementID);
              var myTextContents = myElement[myItemCounter].contents;
             $.writeln("Text  ", myTextContents);
             myObjectsToSelect.push(myElementID);
          catch (Error) {
    // error

    In contrast with the interface, in scripting you rarely need to select objects in order to do something with them. You collect certain text frames in your array myObjectsToSelect. If e.g. you want to move them, you'd do something like this:
    for (i = 0; i < myObjectsToSelect.length; i++)
        myObjectsToSelect[i].move (...);
    What do you want to do with them?
    Peter

  • CS3: elements sorting of selection object

    Hi people!
    I think U know that in CS2 app.selection[0] always return LAST selected object
    and app.selection[app.selection.length] return FIRST selected object
    its logically good way.
    but in CS3 Adobe changed this order. And now sorting of objects in this array depend not from selection order.
    now question: how to determine the first and last selected object in CS3?
    Му collection of cs2 scripts be based on this behoviour.
    Did anybody know how to solve this problem. May be exist simple way via javascript? Or harder - via third party plugins...
    Help please!

    >now question: how to determine the first and last selected object in CS3?
    Unfortunately, you can no longer do that in CS3. I don't know of any workarounds.
    Peter

  • Selecting Objects in Illustrator - selecting objects only completely contained within your selection box

    Hi
    Macbook Pro, Illustrator CC 2014.1.0
    When selecting objects in Illustrator using a selection box created by dragging a selection tool, everything that the box touches gets selected.  On programs like AutoCad, there are options to select only what is completely contained within the selection box.  This can be very helpful.  Can one do this in Illustrator?
    Thanks in advance

    I use Illustrator pretty often but I'm not at a level that I understand scripting.  Maybe I'm out of luck then.

  • Allow editing of properties of multiple selected objects

    Currently one cannot always edit properties of objects -- such as attributes for tags, or tooltips for form fields -- when multiple objects are selected. This occurs when some objects' properties have "conflicting" values. It would save TONS of time, if somehow you could allow edits to one property or attribute while leaving other conflicting properties "as is".   I would also like to be able to add header ID attributes to multiple <TD> tags, without deleting header ID attributes already existing.

    Are the machines causing this script to hang offline? You can test to make sure they are online before you try to connect 
    $Cred= Get-Credential
    get-content targets.txt | foreach-object{
    if (test-connection $_ -count 1 -quiet) {
    $Make = Get-WmiObject Win32_Computersystem -Computername $_ -Credential $Cred
    $Serial = Get-WmiObject Win32_BIOS -Computername $_ -Credential $Cred
    Select-Object $($Make).Name,$($Make).Manufacturer,$($Make).Model,$($Serial).SerialNumber
    }} | Export-Csv Results.csv -NoTypeInformation

Maybe you are looking for