Need help with custom script to rename the layers

Hello world.

I need help to write a custom script (because I suck at it) that will allow me to go through all the layers and sous-calques for a specific name ('X') and give it a new specific name ('Y').

I have had success using the script below, but it does not work on any text layers names where the text layer was previously particularly well-known in 'X' and now changed needs.

Any help is greatly appreciated.

* Note: this script was originally used to find any layer with 'Copy' in its name and remove with anything after (to correct the problem of duplication of layers by adding this text).

This is why the function is named removeCopy. It works for renaming layers also - just not a layer of text unfortunately.

#target illustrator

function removeCopy() {}
If (app.documents.length == 0) return;
var app.activeDocument = docRef;
recurseLayers (docRef.layers);
}
removeCopy();
function recurseLayers (objArray) {}
for (var i = 0; i < objArray.length; i ++) {}
ObjArr [i] .name = ObjArr [i].name.replace (/ \s*current name\s*\d*/, 'new name');
If (objArray [i] .layers) recurseLayers (. layers.length > 0 ObjArr [i]);
}
}

I finally found something after searching forums for a week. My confusion was related to the way Illustrator treats real layers against text/path/object "layers." Instead of layers, I had to use the pageItems in the script. The code below works. Thanks to Gustavo for his answer in another thread and Carlos I thank you for this looking too good! You're great to be ready to help models do more advanced things with Illustrator.

var doc = app.activeDocument;
var items = doc.pageItems;
for (var g = 0; g)
    elements [g] .name = elements [g].name.replace ('Century Schoolbook text line', ' MonogramText: Century Schoolbook ");
};
App.Redraw ();

Tags: Illustrator

Similar Questions

  • Girls need help with a script to repeat the link to another folder in indesign

    I REALLY hope you smart people can help me.

    We had servers which means that all of our Indesign documents now have a broken link. To manually "re-edit the link to the file" causes Indesign down :-(. And it takes forever I am hoping to find a script that can connect all the links in the doc to a new file structure.

    The name of the link (name of file) and the file structure remains the same; Just point to another server. The structure contains subfolders so the best way would be that the script can see subfolders as well, but otherwise I would gladly use a script that points of 6 subfolders at a time.

    Problem - I KNOW NOT ALL SCRIPTS and I'm a graphic designer so I can't create scripts :-(. I have already had success Googling a script to unlink everything in the document, but I don't know how to run the script. DO NOT to create them.

    ANY help in this forum? I have 6 designers waiting for me to fix this.

    Is there a script where I could just change the path and then he could repeat?

    We have iMac OSX Yosemite 10.10.4

    PLEASE HELP... :-)

    / Dina

    Try this... it is created by Vamitul

    main() {} function

    var doc = app.activeDocument;

    myLinks var = doc.links.everyItem () .getElements ();

    var linkObj = {};

    Create the initial object

    / * {linkObject

    [path] {missingNr,

    arrayOfMissingLinks}

    } */

    for (var i = 0; i)< mylinks.length;="" i++)="">

    If (myLinks [i] .status == LinkStatus.LINK_MISSING) {}

    var myPath = File(myLinks[i].filePath).path.toString ();

    If (linkObj [myPath] == undefined) {}

    linkObj [myPath] = {}

    missingNr: 1.

    missingLinks: [myLinks [i]],.

    newPath: "

    }

    } else {}

    linkObj [myPath] .missingNr ++;

    linkObj [myPath].missingLinks.push (myLinks [i] .getElements () [0]);

    }

    }

    }

    $.writeln (linkObj.toSource ());

    var myDialog = new window ("dialog", "link Chaser:', undefined");

    Panel1 = myDialog.add var ('panel', undefined, "double-click to select the new path '");

    Panel1. Align = ["fill",""];

    myList var = panel1.add ("listBox", undefined, "", {})

    columnWidths: [160, 160, 130],

    numberOfColumns: 3,.

    showHeaders: true,

    columnTitles: ['old road', 'New Path', 'Nr. missing links']

    });

    myList.size = [450, 200];

    myList.align = ["fill",""];

    for {(var missingPath in linkObj)

    with (myList.add ("item", missingPath)) {}

    Subitems [0] .text is linkObj [missingPath] .newPath;.

    Paragraphs [1] .text is linkObj [missingPath] .missingNr;.

    }

    }

    myList.onDoubleClick = function() {}

    var myNewPath = (new folder (app.activeDocument.filePath) .selectDlg ("Select New Folder") |. toString() ' ");

    myList.selection.subItems [0] .text = myNewPath;

    linkObj [myList.selection.text] .newPath = myNewPath;

    }

    myDialog.add ('button', {undefined, "Ok",

    name: 'ok '.

    });

    myDialog.add ("button", undefined, "Cancel", {})

    name: "Cancel".

    });

    If (myDialog.show () == 1) {}

    for (var i in linkObj) {}

    If (linkObj [i] .newPath! = ") {}

    var fixedNr = 0;

    Var links = linkObj [i] .missingLinks

    for (var j = 0; j)< links.length;="" j++)="">

    var queue = newFile (linkObj [i] .newPath + "/" + links [j] .name);

    If {(newFile.exists)

    fixedNr ++;

    Links [j] .relink (NewFile);

    }

    }

    Alert ("in the folder: \n" + linkObj [i] .newPath + '\n' +)

    'Fixed' fixedNr ' links of ' + linkObj [i] .missingNr + '\n ' +.

    "Please check");

    }

    }

    };

    }

    app.doScript ('main()', undefined, undefined, UndoModes.entireScript, "Chaser link");

  • Need help with a script (o - o8) *, see the Virgin if there is no

    Hi all what I need help with a script I can't find an example.

    I'm trying to subtract 2 numbers and then multiply this product. (o o8) * one but I just want to do the calculations if all fields have the numbers IE field o, o8 of field and field one.

    Thank you in advance. I was stuck on this days searching the Internet.

    Assuming you want to affect the outcome of this calculation in another text field, use this code as a custom field calculation script:

    var o = this.getField("o").valueAsString;
    var o8 = this.getField("o8").valueAsString;
    var a = this.getField("a").valueAsString;
    if (o!="" && o8!="" && a!="") event.value = (Number(o)-Number(o8))*Number(a);
    else event.value = "";
    
  • script to rename the layers in alphabetical order

    Hello world

    I have a name change script that works only on the numbers and I want to make it work for the letters too.

    What I want to achieve is to select a few layers-> load the script-> enter the desired name of the layer and brackets insert the letter of where to start. The script then iterates through the alphabet rename the layers and adding the letter from coresponding to the name and remove the brackets. For example, I select 4 layers, loading the script and when the guest comes on... Enter the name: test [C]. In the end, that I should have renamed layers testC testD, tests, testF

    Any help would be appreciated!

    Thank you

    So what you wanted, it is for renaming selected objects, no layers, right?

    Check this script, I took a different route, I added some comments, if you have problems with it, do not hesitate to ask

    // this script Renames selected Objects with a base name plus an incremental suffix
    // Carlos Canto // 07/03/2013;
    // http://forums.adobe.com/thread/1243774?tstart=0
    
    var doc = app.activeDocument;
    var sel = doc.selection;
    var rename = prompt("Enter the name and ONE character suffix (comma separated, no space):","test,A", "Increment Rename Selected Objects");
    if (rename!=null) {// quit if pressed Cancel
        var nameArray = rename.split(","); 
    
        var base = nameArray[0];
        var suffix = nameArray[1];
    
        var charCode = suffix.charCodeAt (); // convert the suffix character to Unicode
    
        if(sel.length>0){
            for(var z=0;z		   
  • Need help with a script customized for processing in Photoshop CS4 of images in batches. Really grateful for the help thereby.

    Hi people.

    So I have a boatload of pictures that I have to deal with as I'm moving off Ebay and open my own online store and the images that I have on Ebay, although excellent quality are not square, and unfortunately, the model that I use in Wordpress requires square photos.

    Basically, what I need is a script that I can use in batch mode, which will focus on the size of the image and change the canvas size to be square corresponding to the current long image side. Resize the image to 1600 square pixels and finally save for web in JPEG quality 60.

    Normally I would muddle my way through this trying to teach myself but I already do so much with this new project that I can't afford to pay developers for help that I would really appreciate if someone could help me with this script. I use Photoshop CS4 if it made a difference.

    Thanks much for any help you can offer.

    See you soon,.

    J

    A simple gesture can do that. What you need to do is that the action of lot.   With the help of Photoshop Image Processor script.  The Action is a two-step

    N ° 1). File menu > automate > fit Image.  In the dialog box Image Fit you assign Width and Height 1600 pixels.

    Step 2.) Menu Image > canvas size.  In the canvas size dialog box, you assign Width and Height 1600 Pixels.

    Record the action in some action with a name like 1600PxSquare

    Then use the file menu to Photoshop > Scripts > image processor. In the dialog to the Image Processor script. Select your image source folder. Set where you want your jpeg images. Set it to save jpeg files quality 6.  Set it to include your 1600PxSquare action.

    Step adjustment image resize your image to fit in a 1600 x 1600 pixels are while keeping image proportions of images. Portrait image will be high 1600px and landscape image will be 1600px wide.  The step size canvas will add the canvas to make the place of the image.  Portraits will have a border on the left and right images of landscape will be confined to the op and downs.

  • Need help with Java Script to perform a calculation in the form of Adobe Acrobat Pro 9

    I have a form (test) I created in Adobe Acrobat 9 Pro.

    I need help to create a custom JavaScript, so I can get the desired response.

    1) there are several questions in each group requiring a numeric response between 0-4

    2) there is a total set up field to calculate the sum of the responses of all of the above questions

    (3) the final "score" takes the answer in step 2 above and divide by the total possible response

    Any help to what Java Script I need to fill it would be greatly appreciated!

    I have attached a spreadsheet "" which shows more in detail as are the result of what I used in Excel to get the desired end formulas.

    Thanks in advance.

    Have you tried the "field is the average of:"?

  • Help with a script that detects the content in a cell and apply the cell style to line

    Hello


    I am trying to add an article to my table formatting script that is a cell with the word 'Budget' (but this can be written as ' Budget:' or ' Budget: (E) "- but without the speech marks) and apply the cell Style - SponsorCells - to all the cells of the whole line. I currently have on what it will, but it does not work:


    function checkWhichTable()
    {
    // ensure the user made a selection
    if (app.selection.length != 1)
    return null;
    var currentTable = app.selection[0];
    if (currentTable.hasOwnProperty("baseline"))
    {
    currentTable = app.selection[0].parent;
    }
    while (currentTable instanceof Cell || currentTable instanceof Row || currentTable instanceof Column)
    currentTable = currentTable.parent;
    if (!(currentTable instanceof Table))
    {
    // No table selected
    return null;
    }
    return currentTable;
    }
    app.doScript(checkUserSelection, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Process Table");
    
    
    function checkUserSelection ()
    {
    var a_table = checkWhichTable();
    if (a_table == null)
    {
    if (confirm("No table selected. Do you want to process *all* tables?") == false)
    return;
    allTables = app.activeDocument.stories.everyItem().tables.everyItem().getElements();
    for (aTable=0; aTable<allTables.length; aTable++)
    {
    processTable (allTables[aTable]);
    }
    } else
    {
    processTable (a_table);
    }
    }
    function processTable(table)
    {
    // do something here!
    
    
    //Set 1st Row Height
    table.rows[0].height = "30mm";
    
    
    //Find Text in Cell and apply Cell Style to Row 
    var  
      myCellText=['Budget', 'Budget:', 'Budget: (E)'];  
     var myRegEx = new RegExp("^("+myCellText.join("|")+")$");
      for (i=0; i<table.cells.length; i++)
      {
        if (table.cells[i].texts[0].contents.match(myRegEx))
          table.cell[i].appliedCellStyle = "SponsorCells";
      }
    
    
    //end - do something here!
    }  
    


    I can get the script to apply the cell style to "SponsorCells" for each cell that contain the word 'Budget' etc, but I need cell ever on this line to have the cell style applied. I tried to re-write line 56 which applies the style to a cell, but I can't seem to make it work. Any help would be great.


    Separate on this issue, I would like to have a line of code similar to the 46 line, which sets the 1st height of lines, but I would like to say "If a cell has 'A cell Style' and then applies the value height 10 mm". If someone could result as a help of bonuses, things would be great double.


    Thanks in advance!

    But that could be painfully slow. To speed things up, follow these steps:

    var cells = table.cells.everyItem().getElements();
    for (var i=0; i
    

    It is faster, because it creates an array of cells with a call to table.cells, which is several times faster than calling table.cells. And before assigning to line 12mm height is useful to check if it is already 12 mm. checking things in InDesign and do things only when it is necessary is much more effective than simply doing things even if they are not necessary.

  • Need help with a script of Fade Transitions

    I'm new to scripting so apologies if I've made a few obvious mistakes.

    In addition, do not know if there is already a feature in AE I don't know which will achieve

    what I'm trying to do, but I want to learn AdobeExtendScript and thought it was a great app for a script.

    I am trying to write a script allowing to adjusts video layers and opacity of the image key fades from 100% to 0% on a

    length of the frameworks determined by the user. Nothing too crazy. I've tested this script with imported parts of first and

    It works, kind of, but only when the first layer in the model is part of the selected layers.

    Here's the script:

    //

    fadeTransitions.jsx (03/12/12)

    Copyright © 2012 Paul Kelly for Perioperative Interactive education. All rights reserved.

    http:pkvisualization.com

    // http://pie.med.utoronto.ca

    //

    This script will be set a series of layers so that the layer opacity fades

    from 100% to 0% over a length of frames determined by the user.

    //

    var theComp = app.project.activeItem; the value of a variable equal to the active composition

    If (theComp == null |) (theComp instanceof CompItem) == false) / / check if the item is selected and make sure it is a CompItem

    {

    Alert ("you must have at least two selected layers");

    } else {}

    var numberOfLayers = theComp.selectedLayers.length; the value of a variable equal to the total number of selected layers

    If (numberOfLayers == null: numberOfLayers < 2) / / make sure there are at least two selected layers

    {

    Alert ("you must have at least two selected layers");

    } else {}

    var startLayer = prompt ("first layer to be affected:", "layer #");

    you want to remove this prompt and set a variable for the above selected layer.

    var startLayer = theComp.selectedLayers [0]; does not work. I want the lowest layer indexed multiple selected layers

    fadeTransitions();

    } //end second otherwise: numberOfLayers test

    } //end first thing: theComp test

    function fadeTransitions()

    {

    app.beginUndoGroup ("FadeTransitions");

    var overlap = parseInt (command prompt ("specifies the length of the fade-off (frames)", "0" "));

    overlap overlap = * theComp.frameDuration;

    for (var i = 1; i < = numberOfLayers; i ++)

    {

    var layerIndex = (startLayer - 1) + i; create the layer index, subtract 1 for compensation of the correct layer

    If (layerIndex > numberOfLayers) {//end before layerIndex becomes more than numberOfLayers

    Alert ("Transitions Fade script');

    break;

    } else {}

    var topLayerEnd = .outPoint theComp.layer (layerIndex);

    If ((layerIndex+1) > numberOfLayers) {//end before (layerIndex + 1) becomes more than numberOfLayers

    Alert ("Transitions Fade script');

    break;

    } else {}

    var btmLayerStart = theComp.layer(layerIndex+1).inPoint;

    var btmLayerEnd = theComp.layer(layerIndex+1).outPoint;

    term var = btmLayerEnd - btmLayerStart;

    theComp.layer(layerIndex+1).inPoint = (topLayerEnd - overlap);

    theComp.layer(layerIndex+1).outPoint = (topLayerEnd + duration);

    theComp.layer (layerIndex).opacity.setValueAtTime ((theComp.layer (layerIndex) .outPoint - overlap), 100);

    theComp.layer (layerIndex).opacity.setValueAtTime (theComp.layer (layerIndex) .outPoint, 0);

    } //end 2nd else

    } //end 1 else

    } //end for loop

    app.endUndoGroup ();

    } //end fadeTransitions function

    #1 problem: I want to eliminate the prompt asking the startLayer, instead, I want the first layer to be the highest of

    a selection of layers, so that at any time, you can select a series of layers and run the script only affect these layers.

    I tried to do this by setting a variable app.project.activeItem.selectedLayers [0]; but it did not work. This function would be really

    required during the later stages of compositing, when there are a lot of layers of subtitles, audio, 3D rendered images, etc. above

    layers of film in the model.

    #2 problem: unless the selected layers are pre-established way cascading, I get some really weird adjustments to the in-

    and outPoints. Not sure what is the cause. This isn't a priority, because most of the time I want to use this script layers

    will be already prepared properly (I import a Premiere Pro sequence), but still, I would like to know how I could solve this problem

    and to better understand how works ExtendScript.

    Problem #3: Right now, the way that these guys down inPoints are adjusted, is the same as if I flew over the inPoint layer with the mouse and

    got horizontally in line with the arrows of face to face and click-slipped the inPoint backward, but what I prefer is the

    equivalent of if I fly in the middle of the layer from the Selection tool and click-and - drag the entire layer L or R, so that it is inPoint

    is always in the same place in the sequence. As problem #2, it is not a great problem, I just want to better understand what is happening

    in the script. I tried to use startTime instead of inPoint in the script, but then it just stopped working completely.

    Any help/ideas would be greatly appreciated, and everyone feel free to use what I have so far if you wish.

    This give a try. I have not tested much, but I think it's pretty close to what you are after. It is not as limited to a selection of contiguous layers.

    //

    fadeTransitions.jsx (03/12/12)

    Copyright © 2012 Paul Kelly for Perioperative Interactive education. All rights reserved.

    http:pkvisualization.com

    http://pie.med.utoronto.ca

    //

    This script will be set a series of layers so that the layer opacity fades

    from 100% to 0% over a length of frames determined by the user.

    //

    var indexArray = new Array();

    var theComp = app.project.activeItem; the value of a variable equal to the active composition

    If (theComp == null |) (theComp instanceof CompItem) == false) / / check if the item is selected and make sure it is a CompItem

    {

    Alert ("you must have at least two selected layers");

    } else {}

    var numberOfLayers = theComp.selectedLayers.length; the value of a variable equal to the total number of selected layers

    If (numberOfLayers == null: numberOfLayers)< 2)="" make="" sure="" there="" are="" at="" least="" two="" layers="">

    {

    Alert ("you must have at least two selected layers");

    } else {}

    "selectedLayers" is based on the order of selection, need a different approach to ensure that we are working from top down

    make an array of the indices of layer

    for (var x = 0; x)< numberoflayers;="" x++)="">

    indexArray.push (theComp.selectedLayers [x] .index);

    }

    sort the indexArray

    indexArray.sort ();

    var startLayer = indexArray [0];

    fadeTransitions();

    } //end second otherwise: numberOfLayers test

    } //end first thing: theComp test

    function fadeTransitions()

    {

    var overlap = parseInt (command prompt ("specifies the length of the fade-off (frames)", "0" "));

    If (overlap == null) return; If the user has canceled guest

    overlap = parseInt (overLap);

    If (isNaN (overLap)) return;          If the user does not enter the number

    app.beginUndoGroup ("FadeTransitions");

    overlap overlap = * theComp.frameDuration;

    var layerIndex, topLayerEnd, btmLayerStart, btmLayerEnd, duration, startTimeOffset;

    for (var i = 0; i)

    {

    layerIndex = indexArray [i];

    topLayerEnd = .outPoint theComp.layer (layerIndex);

    If (i + 1< numberoflayers)="" {="" end="" before="" (layerindex+1)="" becomes="" more="" than="">

    btmLayerStart = theComp.layer(indexArray[i+1]).inPoint;

    btmLayerEnd = theComp.layer(indexArray[i+1]).outPoint;

    duration = btmLayerEnd - btmLayerStart;

    need to calculate the offset if inPoint is not at the beginning of the layer

    startTimeOffset = btmLayerStart - theComp.layer(indexArray[i+1]).startTime;

    move the layer by changing startTime rather than inPoint

    theComp.layer(indexArray[i+1]).startTime = (topLayerEnd-overlap - startTimeOffset);

    theComp.layer(indexArray[i+1]).outPoint = (topLayerEnd + duration);

    theComp.layer (layerIndex).opacity.setValueAtTime ((theComp.layer (layerIndex) .outPoint - overlap), 100);

    theComp.layer (layerIndex).opacity.setValueAtTime (theComp.layer (layerIndex) .outPoint, 0);

    }

    } //end for loop

    Alert ("Transitions Fade script');

    app.endUndoGroup ();

    } //end fadeTransitions function

  • Need help with transformation Script

    Well I'm back for the 2nd time today. I would like to thank all those who helped me with my last issue. But now I have another question that I'm developing. Craig & Dan here me helped with 2 separate sending email responders based on questions in the form.

    You can view the form on this link:
    http://mswebsol.com/gaslockguarantee/creditapplication.cfm

    The problem I have right now, is that I don't get the results that I'm looking. Basically lets say you choose Yes to all 4 questions but on the 5th issue, you click on no. Well as it is now the script sends the answer by e-mail indicating your accepted. But what I'm trying to make, is that if you choose not to one of the questions you will automatically get an e-mail response that says you are not admitted.

    If I choose not to question, I'll get the answer correct email which is "your not accepted" to make it work for the first question. But if you choose Yes to the first question and no to the 2nd or any other question you will get the wrong answer that says "you are accepted."

    Here is the code

    < Cfif StructKeyExists(form,"Q1") >
    < cfif form. Q1 is 'Yes' >
    < intrusion via cfmail > accepting... < / intrusion via cfmail >
    < cfelse >
    < intrusion via cfmail > not accepting... < / intrusion via cfmail >
    < / cfif >

    < cfelseif StructKeyExists (form, "Q2") >
    < cfif form. Q2 eq 'Yes' >
    < intrusion via cfmail > accepting... < / intrusion via cfmail >
    < cfelse >
    < intrusion via cfmail > not accepting... < / intrusion via cfmail >
    < / cfif >

    < cfelseif StructKeyExists (form, "Q3") >
    < cfif form. Q3 eq 'Yes' >
    < intrusion via cfmail > accepting... < / intrusion via cfmail >
    < cfelse >
    < intrusion via cfmail > not accepting... < / intrusion via cfmail >
    < / cfif >

    < cfelseif StructKeyExists (form, "Q4") >
    < cfif form. Q4 eq 'Yes' >
    < intrusion via cfmail > accepting... < / intrusion via cfmail >
    < cfelse >
    < intrusion via cfmail > not accepting... < / intrusion via cfmail >
    < / cfif >

    < cfelseif StructKeyExists (form, "Q5") >
    < cfif form. Q5 eq 'Yes' >
    < intrusion via cfmail > accepting... < / intrusion via cfmail >
    < cfelse >
    < intrusion via cfmail > not accepting... < / intrusion via cfmail >
    < / cfif >
    < / cfif >

    Any help would be greatly appreciated!

    Thanks to you all

    Derek Bess
    @ Coldfusion newbie

    If I understand you well, all your if/else logic boils down to a simple:
    (1) one of the answers is "No" - send 'rejected' by email
    (2) all the answers are "Yes" - email "accepted."

    I suggest you cfparam all default = 'no' on your action and answers
    the page, so that you don't have to keep control of structkeyexists:


    ...

    After that, all you need is:


    .. .send 'rejected' code email here...

    .. .send 'admitted' code email here...

    HTH

    Azadi Saryev
    SABAI - Dee.com
    http://www.SABAI-Dee.com/

  • Help with a Script to remove the additional paths and save

    Here are a few scripts that I have at the moment, but none work. With the first script, I get an error with the 'indexOf', and with the second script, it keeps only the second name listed in the string. How can I get either of these to work where I can remove all the paths, with the exception of multiple ones I want to keep?

    function deletepaths()
    {
      if (!documents.length) return false;
    
    
      var doc = activeDocument;
      var save = ["Ex1", "Ex2", "Ex3"];
    
    
      for (var x = 0; x < doc.pathItems.length; x++)
      {
        if (save.indexOf(doc.pathItems[x].name) == -1))
        {
          doc.pathItems[x].remove();
        }
      }
    }
    deletepaths();
    

    deletepaths();
    function deletepaths(){
    if(!documents.length) return;
    var doc = activeDocument;
    for(var a = doc.pathItems.length-1;a>-1;a--){
    if(doc.pathItems[a].name != ("ex1", "Ex2")) 
         doc.pathItems[a].remove();
      }
    }
    

    IndexOf does not work with extension script. Most likely, you would need a number if statement for many golds ' | ', or a loop in the loop goes well your path names.

  • Need help with creating table that inserts the lines according to the amount of data

    Hello

    I try to create a table for supervisors to enter their subordinates of information and inserts lines for supervisors with several of his subordinates.  This form is not be connected to a data source, the supervisors will be simply fill out the form and print.  I want it sort of look like this:

    Name Position # Ranking Hours

    I really appreciate any help.  Thank you!

    Hi Laura,

    It's very strange. I downloaded a new version on the site and it works perfectly. The script is in the right place.

    I can sugggest you right click on the download link and select "save a copy as" the alternative menu. This should save the form locally and from there, you should be able to open it in Acrobat.

    If you are a Mac, make sure that the form opens in preview from Apple.

    Also make sure that Javascript is enabled in Acrobat (in the preferences window).

    Niall

  • Need help with java script

    I have a small script that changes the color of a button image that I use for a popup topic. It does this, of course, by exchanging the two images.

    The script works very well in HR overview and also when the htm page is opened directly in a browser (IE or Chrome).

    However, when I open the topic in the compiled help, the second image does not display.

    Those who work in HR overview. Who isn't in the compiled help.

    Here is the code:

    < a href = "javascript:BSSCPopup('..)". /MenuLocations/3DFace_menu_location.htm'); »

    "ID ="a1"style =" "position: relative;" > < img onmouseover = "this.src = '... /ClickButton - O.png'.

    onmouseout = "" This.src = '... ClickButton.png' ""

    "SRC ="... / clickbutton.png ".

    ALT = "Click for locations of menu and toolbar and related topics."

    border = "0" / >

    Any ideas?

    ~ Margaret Becker

    HI Margaret

    You should probably add the second image to luggage to its intended location. Because JavaScript must manage by exchanging images, RoboHelp is probably not aware of the second image.

    See you soon... Rick

    Useful and practical links

    Wish to RoboHelp form/Bug report form

    Begin to learn RoboHelp HTML 7, 8 or 9 in the day!

    Adobe Certified RoboHelp HTML Training

    SorcerStone blog

    RoboHelp EBooks

  • Script to rename the layers at the same time

    Hello

    As a relationship of one sheet excel or any other format if it works. Is it possible to rename several layers at the same time.

    Thank you for your help

    Best regards

    Nanga

    Here is the InDesign scripting forum:

    Scripting InDesign

  • Need help with custom calculation Script

    Hey everybody.  I'm using Acrobat X Pro and stumbling a bit on the syntax of the following equation.  I need to add the value of "Cell1" & "Cell2" then add the value of "Cell3.  However, the value of "Cell3" is entered by the user and specifies a percentage of the sum of "Cell1 &"Cell2".  For example: If the user enters "3" in "Cell3" I need the value returned at 3% of the sum of "Cell1" + "Cell2".  If the user enters "9" in "Cell3" I need the value returned for "Cell3" 9% of the sum of "Cell1 and Cell2" and the end result should be the sum of "Cell1 Cell2 + Cell3.  In more detail:

    If "Cell1" = "Cell2" $ 500 = $500 and "Cell3" = '3' then I need the returned value to be $1030,00.

    I hope this makes sense. Here's what I have so far, but alas, it does not work.  Any help would be GREATLY appreciated.

    Get the first value in the field, as a number

    var v1 = + getField("Cell1").value;

    Get the second field value, as a number

    var v2 = + getField("Cell2").value;

    Get the value of a field, a number transformation

    var v3 = + getField("Cell3"/100).value;

    Calculate and set the value of this field for the result

    Event.Value = v3 + (v1 + v2);

    Thank you

    Solan

    I have posted a reply, but realized that it wasn't what you wanted. There is some confusion about what you want for Cell3. A hand, you say that the user enter a vaule in the area, but them you say you want its calculated value based on what the user has entered and two other field values. It seems to me Cell3 should be the domain that the user enters the percentage, and the calculated field (Cell4) script could be:

    Get the first value in the field, as a number

    var v1 = + getField("Cell1").value;

    Get the second field value, as a number

    var v2 = + getField("Cell2").value;// get treatment field value, as a number

    Get the percentage

    var v3 = + getField("Cell3").value;

    Calculate and set the value of this field for the result

    Event.Value = (1 + v3 / 100) * (v1 + v2);

  • Need help with custom dialog box

    I created a custom help dialog box. The problem is that 5 buttons do not properly fit in my manager of horizontal field on some blackberry devices. How can I make own? I tried to use my own custom buttons that allow me to specify their width and height, but I'm unable to get the width of the dialog box, so I can't determine how wide should be buttons.

    import net.rim.device.api.ui.component.ButtonField;
    import net.rim.device.api.ui.component.Dialog;
    import net.rim.device.api.ui.container.HorizontalFieldManager;
    
    public class HelpDialog extends Dialog
    {
        static int ButtonPressed;
        HorizontalFieldManager hfmChoices = new HorizontalFieldManager();
        ButtonField cmdFirst = new ButtonField("|<")
        {
            protected boolean navigationClick(int status, int time)
            {
                ButtonPressed = 0;
                close();
                return true;
            }
        };
        ButtonField cmdPrev = new ButtonField("<")
        {
            protected boolean navigationClick(int status, int time)
            {
                ButtonPressed = 1;
                close();
                return true;
            }
        };
        ButtonField cmdNext = new ButtonField(">")
        {
            protected boolean navigationClick(int status, int time)
            {
                ButtonPressed = 2;
                close();
                return true;
            }
        };
        ButtonField cmdLast = new ButtonField(">|")
        {
            protected boolean navigationClick(int status, int time)
            {
                ButtonPressed = 3;
                close();
                return true;
            }
        };
        ButtonField cmdClose = new ButtonField("Close")
        {
            protected boolean navigationClick(int status, int time)
            {
                close();
                return true;
            }
        };
    
        public HelpDialog(String message, int page, int maxPages)
        {
            super("Help (Page: " + page + " of " + maxPages + ")\n\n" + message + "\n", null, null, -1, null, 0);
            ButtonPressed = -1;
            if (page <= 1)
            {
                cmdFirst.setEnabled(false);
                cmdPrev.setEnabled(false);
            }
            if (page >= maxPages)
            {
                cmdNext.setEnabled(false);
                cmdLast.setEnabled(false);
            }
            hfmChoices.add(cmdFirst);
            hfmChoices.add(cmdPrev);
            hfmChoices.add(cmdNext);
            hfmChoices.add(cmdLast);
            hfmChoices.add(cmdClose);
            add(hfmChoices);
        }
    }
    

    Thank you

    Most people have no need a close button, they expect the ESC to do it for them.

    That said, I disagree with this statement:

    "I think that the only good way to use managers other than the AbsoluteFieldManager, is to use them at all."

    Designing a user experience that works well on multiple devices is difficult, and I don't think that has a size fits all approach work.  In addition, I don't have the time to create formats for specific screens for each device type, and although this will not happen now, I didn't have to rework screen designs every time that a new device came out.  I think that it is possible to create a common user interface experience given the size of the screen, and whether it is touch.  If you want to read my thoughts on this, have a look at the tutorial of the user interface you will find here:

    http://supportforums.BlackBerry.com/T5/Java-development/tutorials-for-new-developers-part-1/m-p/1621...

Maybe you are looking for

  • I would like to remove the arrows when scrolling to the bottom of a search page.

    When I do a search in firefox and you present results to get an arrow that I scroll the page down and he jumps a few lines. I would like to remove the arrows and the page myself.

  • OfficeJet 6500 E709n: Failure of 6500 all in one ink system

    Recently inherited a 6500 all in one and installed this AM. Everything was going fine until I had to print a test page. Error: Ink system failure. The manual says disconnect power and reconnect after 10 seconds.  This did not help. When I ask to prin

  • USB Universal Serial Bus (not installed)

    Recently, I realized that my USB key is not working, I checked my devices & discover a yellow exclamation point.I use Hp Pavilion Notebook D002Tx 14, Win7 64-bit. It's the Universal Serial Bus ID:PCI\VEN_8086 & DEV_1E31 & SUBSYS_21BB103C & REV_04PCI\

  • HP Envy 4502: Installation

    I can't install the info on the HP disc function does not work on my laptop. Download the details by the way?

  • Cast of references...

    Hello I have the following VI: The reference from the call by reference VI is VI reference type. The Diag data Ref is a custom type, which is really just a reference type VI below, same as what comes from the call by reference VI. Is there a way to "