Script a find/change using a datasource

So I wrote a program (C#) a few years ago that basically opens an InDesign Exchange file, does a find/replace based on a SQL table datasourse and then our graphics folks would just convert the completed INX file back to InDesign and ultimately to a PDF.  Too many steps.
There are upwards of 2500 pieces of variable data in each file, so a product like DesignMerge is not practical.  Our data file basically consists of 2 fields [LookFor] and [ReplaceWith], I'd like an Indesign script that will just run through the data file and do a Find/Change for each record.  Is this doable and does anyone have any suggestions or starting points?
Thanks!

Yes, it's possible. In my oppinion the easiest approach is to export your data to a csv-file and read it by script. I posted an example in this thread.
However, on PC, it's also possible to exchange data directly between InDesign and Excel, or Access (without csv). I did some tests: the main (InDesign) part was written in JS. Another (Excel) part that opens a workbook, reads records and closes it was written in VB (it is sent from the main part via doScript method). The VB script reads all used ranges puts, them into a string and returns it back to the JS via ScriptArgs.SetValue method (JS gets the string by app.scriptArgs.getValue method).

Similar Messages

  • Find/change using end of paragraph marker /p

    Folks,
    We are attempting to remove a space at the end of a paragraph in unstructured documents.  If I enter ' \p' in the Find text field in the Find/Change dialog FrameMaker finds the the appropriate paragraphs.  If I then enter '\p' in the Change text field in the Find/Change dialog and click Change the space is removed.  However the target paragraphs style is also applied to the the following paragraph.  This occurs in FrameMaker 8,9 & 10.
    If the Find/Change scenario above is followed with these two paragraphs the first paragraphs style is applied to the second paragraph.
    paragraph 1 with a trailing space and using Heading 1 style
    paragraph 2 using Heading 2 style
    Any thoughts?
    regards
    Jon

    JonEBe wrote:
    Arnis,
    Thanks!
    Yes why bother indeed!  I am at the end of a rather lengthy process to convert the creation and output of Framemaker documents into a database with a web front end.  As part of this the existing documents are imported to save lengthy keying/rekeying.  The output from the system is then compared against the originals.  As a matter of course I stripped of leading or trailing spaces (it is amazing how many there are in a manually created/updated document) so we therefore have noisy comparison documents as a result.
    BTW the trailing spaces are apparently a legacy of the conversion from WordPerfect.
    My choices are to re-import without stripping the trailing space and remove them at a later date or create a script using the FDK, which I am very familiar with, and is the likely outcome!
    Jon
    Just a wild thought - a real GREP processor, not the mild imitation in FrameMaker, can find a construction like a space followed by a paragraph marker and delete the space without affecting the marker. The technique is a form of the "lookbehind" or "lookahead" feature. I'm zero-skilled at actually doing this beyond just mentioning it, but the technique might work in a MIF, or text conversion, of the file. Search Google for terms like "GREP lookbehind lookahead," without quotes.
    Another possibility is that once the FrameMaker file is converted to the database, it would be possible to use a database command to remove the space.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

  • YAB - FM11 Find/Change using Selection drops selection after first find

    Yet another bug in FM11?
    If you are using a selection to limit the scope of a find/change, FM11 now drops the selection after the first find.  Consequently, it can't find anything else that matches as there is no more selection and you have to re-select again. What a PITA!
    In FM10 and earlier, FM would remember the selection and just keep searching until it reached the end of the selection.
    Can anybody verify this user-hostile (what's a QC test script?) behaviour in the latest pached version of FM11?

    I just changed modes in FM11 from strructured to unstructured. The problem does NOT occur in unstructured FM!

  • How do I make a script to find/change many in one go

    I have a long list of words that I do a find/change to avoid breaks and keep with the next word. Words like Dr. Mr. Mrs. :
    Is there an easy way to put all the words and symbols that I want to change into one script to save doing each one at a time?

    1) Free solution: FindChangeByList.jsx
    (in \Scripts\Scripts Panel\Samples\JavaScript)
    2) Better and very flexible solution: Multi-Find/Change
    http://www.automatication.com/index.php?id=12
    @+
    Marc

  • Script to find/change stroke in tables

    Hi everyone,
    I posted this very same question about a month ago but I got no reply so I thought I'd try again. Even if I can't obtain a free script that will do what I need, I'm happy to look at paying for one if someone can point me in the right direction.
    I'm looking for a script that will target the stroke weight in tables and change them to a lighter weight, eg. from 0.5pt to 0.3pt.
    I have a script that targets the fill at the following url:
    http://forums.adobe.com/thread/681944
    ...but I'm looking for one that targets the stroke.
    Just wondering if anyone might know where I can find one?
    Thanks

    Hi Livingmedia,
    I have modified the above js code, Please check.
    myDialog = app.dialogs.add ({name:"Recolor Tables",canCancel:true}); 
    swatchlist = app.activeDocument.swatches.everyItem().name; 
    with (myDialog) 
    with (dialogColumns.add()) 
      with (borderPanels.add()) 
       staticTexts.add ({staticLabel:"Find"}); 
       swf = dropdowns.add ({stringList:swatchlist, selectedIndex:0}); 
       tbf = percentComboboxes.add({editValue:100, largeNudge:10, stringList:["25", "50", "75", "100"] }); 
       tbfStrk = measurementEditboxes.add({editValue:0.5}); 
      with (borderPanels.add()) 
       staticTexts.add ({staticLabel:"Replace"}); 
       swr = dropdowns.add ({stringList:swatchlist, selectedIndex:0}); 
       tbr = percentComboboxes.add({editValue:100, largeNudge:10, stringList:["25", "50", "75", "100"] }); 
       tbrStrk = measurementEditboxes.add({editValue:0.33}); 
      with (borderPanels.add()) 
       dostrokes = checkboxControls.add({staticLabel:"Change strokes", checkedState:true}); 
       dofills = checkboxControls.add({staticLabel:"Change fills", checkedState:true}); 
    if (!myDialog.show() || !(dostrokes.checkedState || dofills.checkedState)) 
    myDialog.destroy(); 
    exit(0); 
    findtint = tbf.editValue; 
    findStrk = tbfStrk.editValue; 
    findswatch = app.activeDocument.swatches.item(swf.selectedIndex); 
    changetint = tbr.editValue; 
    changeStrk = tbrStrk.editValue; 
    changeswatch = app.activeDocument.swatches.item(swr.selectedIndex); 
    strokes = dostrokes.checkedState; 
    fills = dofills.checkedState; 
    fillchanges = 0; 
    strokechanges = 0; 
    tb = app.activeDocument.stories.everyItem().tables.everyItem().getElements(); 
    for (t=tb.length-1; t>=0; t--) 
      tab = tb[t]; 
      for (c=0; c<tab.cells.length; c++) 
       if (fills && tab.cells[c].fillColor == findswatch && tab.cells[c].fillTint == findtint) 
        fillchanges++; 
        tab.cells[c].properties = {fillColor:changeswatch, fillTint:changetint}; 
       if (strokes) 
        s = false; 
        if (tab.cells[c].topEdgeStrokeColor == findswatch && tab.cells[c].topEdgeStrokeTint == findtint && tab.cells[c].topEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {topEdgeStrokeColor:changeswatch, topEdgeStrokeTint:changetint, topEdgeStrokeWeight:changeStrk}; 
        if (tab.cells[c].bottomEdgeStrokeColor == findswatch && tab.cells[c].bottomEdgeStrokeTint == findtint && tab.cells[c].bottomEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {bottomEdgeStrokeColor:changeswatch, bottomEdgeStrokeTint:changetint, bottomEdgeStrokeWeight:changeStrk}; 
        if (tab.cells[c].leftEdgeStrokeColor == findswatch && tab.cells[c].leftEdgeStrokeTint == findtint && tab.cells[c].leftEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {leftEdgeStrokeColor:changeswatch, leftEdgeStrokeTint:changetint, leftEdgeStrokeWeight:changeStrk}; 
        if (tab.cells[c].rightEdgeStrokeColor == findswatch && tab.cells[c].rightEdgeStrokeTint == findtint && tab.cells[c].rightEdgeStrokeWeight == findStrk) 
         s = true; 
         tab.cells[c].properties = {rightEdgeStrokeColor:changeswatch, rightEdgeStrokeTint:changetint, rightEdgeStrokeWeight:changeStrk}; 
        if (s) 
         strokechanges++; 
    ch = "No changes made"; 
    if (fillchanges) 
    ch = fillchanges+" fills changed"; 
    if (strokechanges) 
      ch += "\n"+strokechanges+" strokes changed"; 
    } else if (strokechanges) 
      ch = strokechanges+" strokes changed"; 
    alert (ch);
    thx,
    csm_phil

  • Find/Change words (with GREP) and apply a style...

    I need a Script for Find/Change words with GREP, and apply a paragraph style...
    Thanks...

    Hi Marcos,
    If you want the script to create character styles: Bold , Italic, Bold Italic, etc, and replace local formatting with these styles, use scripts in post #3.
    But if you want find and change words, or/and replace local formatting with styles defined by you, use FindChangeByList script.
    If the latter, I recommend you to download and install Record Find Change script (written by Martin Fisher).
    Then choose settings you need in Find-Change dialog – make sure they work as expected – and run Record Find Change script. A Notepad/TextEdit file will pop up with a line containing the recorded setting. Copy it, open FindChangeList.txt, delete the contents of this file and paste the line you just copied (or add it to the bottom of the file).
    Repeat the process for all find-change operations you need.
    Finally run FindChangeByList.jsx to make all changes in one go.
    However, while using Record Find Change script, you may encounter a problem: it doesn’t record paragraph and character styles placed inside a group. But you can write references to such styles like so:
    appliedParagraphStyle:app.activeDocument.paragraphStyleGroups.item("Style Group 1"). paragraphStyles.item("Paragraph Style 1")
    Kasyan

  • Finished script: Use grep find/change to fill in a supplied table of contents

    This script is now complete, and has been the subject of most of my previous posts. Just in case anyone wanted to know what the finished script ended as, here it is.
    Thanks so much to all. A lot of really helpful folks on this board are very responsible for the success of this task. This script is to be one of hopefully many in the creation of our records. But it's a huge leap forward. Thanks again to everyone that helped.
    Cheers,
    ~Nate
    Task:
    Automatically find town names in listings, and fill in table of contents template on page 2 accordingly.
    Example of page 2 toc, initially:
    Example of a page of content. The town names are what need to be referenced on the TOC:
    Example of page 2 toc once script is finished:
    Because of the need to include the transaction dates on the TOC (comes as a provided, tagged-text file), a simple Indesign-generated TOC can't be used alone.
    This script uses an Indesign-generated TOC that's on a master page called "T-tocGen" ... It then uses grep search and replaces to grab the needed information, and insert it into the page 2 TOC.
    The script will update a generated TOC and then search for an instance of a page number, and town name. The generated toc lists all included towns in the following format:
    (line start)## tab townName(line end)
    In Grep, this would be (please note, extra \ for \d and \t ... javascript needs that for some reason):
    ^\\d+\\t(.*)$
    After the script gets the info it needs from a found instance of the above, it replaces that line with "---", to prevent that line from being picked up once again.
    The script with then place the needed page number in it's rightful place on page 2, replacing the XX.
    A while loop is used to repeat the above process until there are no longer any instances of "^\\d+\\t(.*)$" present.
    Not every town runs every issue, so once the script is done, it removes all remaining instance of "XX" on the page 2 TOC.
    FINAL CODE:
    TOC replace
    This script will use grep find/change methods to apply page numbers in
    tocGen to the XX's on page2TOC.
    // define the text frame of generated TOC
        var tocGenFrame  = document.masterSpreads.item("T-tocGen").pages.item(0).textFrames.item(0);
    // udpate generated TOC ... store contents in tocGenStuff
        var tocGenStuff = updateTOCGen();
    // set variable for while loop
    var okGo = "1";
    // while okGo isn't 0
    while(okGo.length!=0)
    // get town info from tocGen
    getCurrentTown();
    // replace XX's with tocGen info
    replaceTown();
    // grep find ... any remaining towns with page numbers in tocGen?
    app.findGrepPreferences = app.changeGrepPreferences = null;
    app.findGrepPreferences.findWhat = "^\\d+\\t(.*)$";
    // set current value of okGo ... with any instances of above grep find in tocGen
    okGo = tocGenFrame.findGrep();   
    // grep find/change all leftover XXs in page2TOC
    app.findGrepPreferences = app.changeGrepPreferences = null;       
    app.findGrepPreferences.findWhat = "^XX\\t";
    app.changeGrepPreferences.changeTo = "\\t";
    app.activeDocument.changeGrep();  
    // clear grep prefs
    app.findGrepPreferences = app.changeGrepPreferences = null;
    //  functions                  //
    function getCurrentTown()
    // grep options   
    app.findChangeGrepOptions.includeLockedLayersForFind = true;
    app.findChangeGrepOptions.includeLockedStoriesForFind = true;
    app.findChangeGrepOptions.includeHiddenLayers = true;
    app.findChangeGrepOptions.includeMasterPages = true;
    app.findChangeGrepOptions.includeFootnotes = true;
    // grep find:  startLine anyDigits tab anyCharacters endLine
          app.findGrepPreferences = app.changeGrepPreferences = null;
          app.findGrepPreferences.findWhat = "^\\d+\\t(.*)$";
    // get grep find results      
    currentGen = tocGenFrame.findGrep();  
    // store grep results content into currentLine
    currentLine = currentGen[0].contents;
    // match to get array of grep found items
    currentMatch = currentGen[0].contents.match("^\\d+\\t(.*)$");
    // second found item is town name, store as currentTown
    currentTown = currentMatch[1];
    // change current line to --- now that data has been grabbed
    // this is because loop will continue as long as the above grep find yields a result
           app.findGrepPreferences.findWhat = "^\\d+\\t"+currentTown+"$";
                  app.changeGrepPreferences.changeTo = "---";
                tocGenFrame.changeGrep(); 
    function replaceTown()
    app.findChangeGrepOptions.includeLockedLayersForFind = true;
    app.findChangeGrepOptions.includeLockedStoriesForFind = true;
    app.findChangeGrepOptions.includeHiddenLayers = true;
    app.findChangeGrepOptions.includeMasterPages = true;
    app.findChangeGrepOptions.includeFootnotes = true;
    // find: XX currentTown .... replace with: currentLine
        app.findGrepPreferences = app.changeGrepPreferences = null;
        app.findGrepPreferences.findWhat = "^XX\\t"+currentTown+" \\(";
        app.changeGrepPreferences.changeTo = currentLine+" \(";
    app.activeDocument.changeGrep();   
    function updateTOCGen()
    //set vars ... toc text frame, toc master pag
        var tocGen  = document.masterSpreads.item("T-tocGen").pages.item(0).textFrames.item(0);
        var tocGenPage  = document.masterSpreads.item("T-tocGen").pages.item(0);
    //SELECT the text frame generatedTOC on the master TOC
        tocGen.select();
    //Update Table of Contents by script menu action:
        app.scriptMenuActions.itemByID(71442).invoke();
    //Deselect selection of text frame holding your TOC:
        app.select(null);
    //store contents of toc text frame in variable
        var tocGenText = tocGen.contents;
    //return contents of tocGen
        return tocGenText;

    Thanks for the reply.
    You are correct but the problem is there are three rows, One row is 100% black, the second is 60% black and the third is 40% black. I want to change the black to blue, the 60% black to an orange and the 40% black to a light shaded blue. In the find/change option you can select the tint you want to find and replace but yea.. does work on table cells.. oddly enough.

  • GREP 'find/change' by list script: find a text string containing different para styles

    Hi
    I'm don't write scripts but do 'enjoy' copying, pasting and changing existing code/txt files.
    I have built a GREP find/change .txt that performs a large number of text edits/changes.
    But I'm left with an issue where I have paragraphs of text (styled earlier in the .txt file) that I'm unable to identify using GREP the usual way. I need to identify text in a particular paragraph style, followed by text in another paragraph style.
    Is it possible with GREP to create a search string to find: text styled with one paragraph style, ending with a paragraph return, and to include in that selection the following paragraph/s styled with another paragraph style?
    MTIA Steve

    seb400 napisał(-a):
    What do you mean by I would mark "changing" in "copying, pasting and changing"?
    Hi Steve,
    I mean I can see a way by modifying some existing code with "find...change" job
    1. set criteria to findGrep
    2. store findGrep() in an array
    3. check each found object if next paragraph matches some new criteria
    4. run changeGrep() if true
    Jarek

  • How to use character styles in the Find/Change JavaScripts?

    First, good luck to Ole. He's been so helpful (and such a good writer, too). All the best!
    My Find/Change JavaScripts are running into trouble at line 159 of the ExtendScript Toolkit. The script is searching for a particular font, to which it should then apply a character style. I'm using the format I see in Adobe's "FindChangeList" sample text, but the script is still hitting a wall. What am I doing wrong? I'd like to have a working method for searching, not only for fonts, but also for finding a particular character or paragraph style and then applying a new style.
    Simple stuff, but I'm roadblocked.
    Here is the script so far:
    //This script applies the DFKai character style to the Arial Unicode font.
    text {findWhat:"", appliedFont:"Arial Unicode MS", fontStyle:"Regular"} {appliedCharacterStyle:"DFKai"} {include footnotes:true, include master pages:true, include hidden layers:true, whole word:false} Find Unicode font; change to DFKai character style.
    Thanks for your help!
    Gary Niemeier

    You are absolutely correct. I don't know how those spaces got there! I copied the text from the "FindChangeList.txt" document, but somewhere along the way, a software program "helpfully" added the spaces. (Rest assured, it wasn't copied from AppleScript. I stick with JavaScript.) Anyway, the script now runs like a charm.
    My thanks to you! Another "newbie" mistake easily spotted, eh?
    One thing, though, if Adobe is reading this: please flesh out the "FindChangeList.txt" file for those who are not programmers/scripters. I'm just a normal InDesign user, and I really need examples of basic syntax in order to use the "Find/Change" script correctly. I'm referring to the syntax involved with finding or changing text with a certain character or paragraph style. I often search for styles, and those properties should be provided in the help file. A couple of samples are all that's needed. (I did read through the JavaScript reference guide provided by Adobe, and even in the "Find/Change" section, it did not provide this information!). Furthermore, I often search text for a specific font. Why isn't this syntax included as well? It would easy to do and would save users a lot of fumbling around.
    Thanks again, all the best.

  • Keep layout position when using Find/Change?

    When using Find/Change in InDesign CS4, each occurrence of the "Found" material is centered in the window, so the page moves around with each find. Is there a way to keep the page in a fixed position when searching through a document?

    Actually, I can think of a shortcut for the hard part: The user uses the
    regular find/change UI to make all their settings. Then, they run the
    script, which will simply use the settings in the UI. Nice, huh! So you
    could get a listBox of all the finds -- select the entry and you get
    taken to the desired location. Click the "change" button and the change
    is made. Here's a proof of concept:
    #targetengine engine20
    var myFinds = app.findText();
    var w = new Window("palette");
    var myList = w.add("listbox", undefined, myFinds);
    var changeButton = w.add("button", undefined, "Change");
    myList.onChange = gotoFound;
    changeButton.onClick = makeTheChange;
    w.show();
    function gotoFound(){
    app.select(myFinds[myList.selection.index].parentTextFrames[0].parent.parent);
         app.select(myFinds[myList.selection.index]);
    function makeTheChange(){
         myFinds[myList.selection.index].changeText();
    Obviously very rudimentary: but this does work in CS4. If the list is
    too long, though, the change button will disappear off the bottom of the
    screen. Also, really once the change is made, the item should be removed
    from the list, but there's a bug in CS4 that makes it impossible to do
    that simply, if I recall correctly (or was that only a tree list?)
    Also, I have found that the only sure way of getting the entire spread
    to show is as I've done it above (and it would need much more error
    checking than this -- for instance, overset text).
    Ariel

  • Script for running multiple find/change queries

    Working on a large ID book document (*.indb), I have saved several dozens of Find/Change Queries (named "col01", "col02" etc.) that I run on "All documents". For a particular reason I have to run these queries several times a day.
    So I was wondering whether there is, or whether anybody out there would write, a script that runs these queries one after the other. Given the size of the book, it might be necessary to provide for the script to pause after each query is run (before it goes on with the next), but I am just guessing.
    Any help is much appreciated!

    There are a couple of others:
    http://forums.adobe.com/message/5173943#5173943
    this is more at code level rather than a GUI, but the actual queries are made using the Find/Change dialog box.
    Also
    http://www.kahrel.plus.com/indesign/grep_query_manager.html
    This is good too, but only does GREP searches (no text, glyph or object find/replaces) that were written by the user - does not use the ones installed with InDesign. Does allow changes by selection, story, document or folder.
    Did try the Doquerylist suggested by Kasyan. This allows GREP/text changes by the user/installed with InDesign, but only applies to a selection or text-thread.
    Always good to have more than one way of accomplishing a task though!

  • Workflow and/ or script to rename finder items using a .txt or a .csv file as a reference?

    Can someone assist me, I am looking for a workflow and/ or script that would allow me to rename finder items using a .txt or a .csv file as a reference for the new naming convention?

    THANK YOU!!!! 
    I have taken your recommendation and enabled the script menubar item.  I also tweeked the script as you recommended, I will play with both options to see which I prefer.   I thank you again for the quick turn around on this. 
    If I am to understand your comment correctly about placing the .csv file in the same folder as the files to be renamed I should modify the script as such.
    REMOVE:    
                        set csvFile to choose file with prompt "Select the CSV file." of type "public.text"
                        set workingFolder to (choose folder "Select the folder to be processed") as text
                        set fileList to (POSIX path of (files of folder workingFolder whose visible is true and name begins with "untitled"))
    REPLACE WITH:     
                        set csvList to paragraphs of (read "/path/to/csvfile.csv")
                          set fileList to (POSIX path of (files of folder "/pah/to/folder" whose visible is true andname begins with "untitled"))
    After reading this and attempting to modify it I am missing one piece of markup or the arrangement of the markup.
    Please find the modified script with options:
    -- change this to specify the correct csv delimiter
    set splitDelimiter to ","
    -- change this to specify the file name join character
    set recombineDelimiter to "_"
    -- choose the csv file
    set csvFile to choose file with prompt "Select the CSV file." of type "public.text"
    -- choose the folder
    set workingFolder to (choose folder "Select the folder to be processed") as text
    -- csv contents as list
    set csvList to paragraphs of (read csvFile)
    --set csvList to paragraphs of (read "/path/to/csvfile.csv")
    tell application "System Events"
    -- list of files in alphabetical order
         set fileList to (POSIX path of (files of folder workingFolder whose visible is true and name begins with "untitled"))
      -- set fileList to (POSIX path of (files of folder "/path/to/folder" whose visible is true and name begins with "untitled"))
         repeat with i from 1 to count of fileList
    -- get a file from the file list and note its extension
              set currentFile to file (item i of fileList)
              set fileExtension to name extension of currentFile
    -- get a line from the csv list, split it at the delimiter,  and recombine it
              set {oldTID, my text item delimiters} to {my text item delimiters, splitDelimiter}
              set newFileNamePieces to text items of (item i of csvList)
              set my text item delimiters to recombineDelimiter
              set newFileName to newFileNamePieces as text
              set my text item delimiters to oldTID
    -- write the new name back out to the file
              set name of currentFile to (newFileName & "." & fileExtension)
         end repeat
    end tell

  • Reference saved query in Find/change script?

    I want to use the find change script included with InDesign but I want to reference my saved queries. The reference for this script doesn't explain how to do this but this seems like the best way to run several queries in a row.
    The Find Change script refrences a text document that tells it what to find and change.
    Thanks
    Jesse

    From the Help (with quite a lot of searching):
    b Application
    void loadFindChangeQuery (queryName: string, searchMode: SearchModes)
    Loads the specified find/change query.
    queryName string The query to load.
    searchMode SearchModes: TEXT_SEARCH
    GREP_SEARCH
    GLYPH_SEARCH
    OBJECT_SEARCH
    I sort of gathered it should be under Application, and so it was. And in hindsight, with a logical name as well! Didn't even know ID could do this.
    The ESTK2 does not supply code snippets, but I'm sure you can work it out from this :-)

  • Help for find/change glyphs script

    Hi everyone!
    I need help for creating a script (or modifying existing script) that should replace every Cyrillic character  from an old ASCII font with the same Cyrillic character but from new Unicode font.
    For example: Capital letter 'A' GID=107 from old font (Lazurski) should be replaced with 'A' GID=630 from new one (Myriad Pro).
    I can do this by using Indesign Find/Change - Glyphs, but this will take me too much time.
    So, I need a scrip for this job.
    My first attempt was to use the FindChangeByList script by modifying the FindChangelist.txt document, but without success.
    Here is what I've used until now:
    1)  glyph {glyphID:107, appliedFont:"Lazurski"} {glyphID:630, appliedFont:"Myriad Pro"} {caseSensitive:false, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false}
    2)  glyph {findWhat:"u00C0", appliedFont:"Lazurski", fontStyle:"Bold"} {changeTo:"0410", appliedFont:"Myriad Pro", fontStyle:"Bold"} {caseSensitive:false, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} Find ASCII A replace with Unicode A.
    Both lines didn't change anything. What is wrong?
    Any help is welcome!
    Regards,
    Veselin
    P.S. Indesign CS5

    Thank you Jongware!
    The codes (both ID and Unicode) are correct for sure, but even with correct notation (obviously my was wrong) the script don't change anything.
    Here is the line in the FindChangeList:
    text {findWhat:"\u00C0", appliedFont:"Lazurski", fontStyle:"Bold"} {changeTo:"\u0410", appliedFont:"Myriad Pro", fontStyle:"Bold"} {caseSensitive:false, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} Find ASCII A replace with Unicode A.
    Update:
    Finally, I found what is wrong with the script - the properties "caseSensitive:false".
    By removing that properties the script works fine.
    So, I successfully converted a book with old ASCII Cyrillic font to Unicode Opentype font.

  • How to use Find Change to add FC in front of all item numbers?

    Hello,
    I am using Indesign CS5 on iMac, running OS 10.8.3.
    I designed a product catalog that has 148 pages. Now I need to save the same design and make a new catalog for our wholesalers. On the wholesalers catalog I need to change the item numbers and add FC in front of each item number. How can I use find change to find each item and change them with FC in front of the item numbers? The following are a few examples of the item numbers:
    LED-4042 I want to change it to FCLED-4042
    UA-42 I want to change it to FCUA-42
    SC-110 change it to FCSC-110
    KN-10 change it to FCKN-10
    etc....
    I am hoping there is a fast way to find and change these.  I was looking in to GREP, but I could not figure how to do this.
    Thanks,
    Omar

    One way would be to just run it and then *remove* any double FC's -- but GREP can do even more! One of its many functions is to scan ahead for the presence or absence of certain text, and only act when it is (or it is not) there. This is called "lookbehind" (before the text you want to match) and "lookahead" (after the text you want to match).
    In this case, you want to find a phrase starting with capitals, but NOT the exact string "FC". That's a job for Negative Lookahead -- Only Match If Not.
    Try this: search for
    \b(?!FC)\u+-\d+\b
    ... the Replace With stays the same.

Maybe you are looking for

  • Run BW query from R/3, need output file saved on application server

    Hello all, We are currently working on BI 7.0. Is there a way where we can run a BW query from R/3 by some program or tcode? We need to run the BW query and use the output of that query as an input to some other custom program in R/3. If we can save

  • IMac Built in Video?

    When I set up my new iMac one of the things that happened was that the iMac built in camera took a foto and used that in the set up. Is that built in camera also not for being able to connect, for example, with my children and then we can have video

  • BAPI_ISUACCOUNT_CHANGE doesn't see what BAPI_ISUPARTNER_CHANGE changed

    Hi, I have a program where I am adding payment cards and bank accounts to a business partner and then creating them as incoming payment method of a contract account. Therefore, I call the BAPI functions like: CALL FUNCTION 'BAPI_ISUPARTNER_CHANGE'...

  • Assign values dynamically to radio button

    I am creating an online test. I will need to display answer choices from the table. I created radio buttons for these answer choices and I could put the labels dynamically by using       Set_Radio_Button_Property('block_name.radio_group_name', 'radio

  • TextSnapShot.findtext crashing on iPad

    Hello Everyone I am loading an external swf using swfloader. The file loads fine. But when I try to find text in the file using the following code, it crahses on iPad. var textSnap:TextSnapShot = extMovie.textSanpshot; var i:int=textSnap.findText(0,"