Skip to main content
New Participant
October 17, 2013
Question

Find/Change By List help

  • October 17, 2013
  • 1 reply
  • 12322 views

Hi all,

New to scripts here using InDesign CS6.

I need some help on how to set up the find/change by list script in InDesign. I searched the forums but I don't quite grasp if I need my list saved as a .txt file or something else and where to save the list.

I have a list of about 50 words (text only) (and growing) I'd like to simply find these words in my document, but not change them to anything as I need to rewrite the content to fit.

I'm hoping there is a find next of some sort with this script so I can search the entire set of terms in one shot. (I played with the Multi/Find change script (http://automatication.com/) but it looks like that requires me to "change all" rather than find all)

When I run the script in indesign it asks me to select a file to pull from. I currently have my list of text setup in a .txt file. (But not knowing code, I'm wondering if I need to save this text file differently or code it so the find/changebylist script can pull from this file)

Could someone point me in the right direction, or let me know if this is the correct script to use and how to use it?

I noticed in my script panel the find/change support folder (C:\Program Files (x86)\Adobe\Adobe InDesign CS6\Scripts\ mentioned on this site is missing from my folder.)
http://colecandoo.wordpress.com/2011/08/25/make-findchange-behave-more-like-a-word-macro/

Thanks for your help. Hopefully I get the hang of this soon.

This topic has been closed for replies.

1 reply

Jump_Over
Brainiac
October 18, 2013

Hi,

You can go straight or try to modify 'MultiFind' script.

I suggest to use a text conditions and go straight with this code:

var

          mDoc = app.activeDocument,

          mCond = mDoc.conditions.item("mFound"),

          mPath = "~/Documents/ID_words_to_find.txt",

          mDelimiter = ",",

          mSource = File(mPath),

          mOpen = mSource.open("r",undefined,undefined),

          len, len1, mWordsArr, mFound;

if (!mCond.isValid)

          mCond = mDoc.conditions.add({

                    name: "mFound",

                    indicatorColor: UIColors.LIGHT_BLUE,

                    indicatorMethod: ConditionIndicatorMethod.USE_HIGHLIGHT,

                    underlineIndicatorAppearance: ConditionUnderlineIndicatorAppearance.SOLID

                    });

if ( !mOpen) {alert ("Can't open a source file"; exit()};

mWordsArr = mSource.read().split(mDelimiter);

len = mWordsArr.length;

app.findTextPreferences = null;

while (len-->0) {

          app.findTextPreferences.findWhat = mWordsArr[len];

          mFound = mDoc.findText();

          len1 = mFound.length;

          while (len1-->0)

                    mFound[len1].appliedConditions = [mCond];

          }

app.findTextPreferences = null;

How it works (should)?

Assumed:

- a list of words to find is in a .txt file as comma-delimited (you could set other delimiter)

- this file is named 'ID_words_to_find'  and saved in user Documents folder (you can change mPath)

Script define a condition 'mFound' and apply it to every word from your list found in a document. They are highlighted. You can modify them.

Notice: to remove a condition (highlight) modify a word including a space before it.

Enjoy:)

Jarek

creuscheAuthor
New Participant
October 18, 2013

Thanks Jarek,

I'm still unable to get it to work, but am wondering if it is because the .txt fil I wish to pull from is from a shared location on our network? Once I get the script to work I'd like to share it with other members of the team. So would where I save my .txt file affect the script.

   

mPath = "~/Documents/ID_words_to_find.txt",

The file I'd like to pull from is on our shared drive:

M:/Resources/Scripts and GREP Queries/ID_words_to_find.txt

Thanks!

Inspiring
July 24, 2015

Dear Jarek,

Trying to use this script you wrote I founded that some single words in the list (ai, for example), that are sometimes part of a whole word (aimara), get highlighted.

Do you think it is a something that could be revised? Also, accented letters get unseen (anamú). Thanks for your time.

?


Good morning, Karek

I have been using this perfect script with the last addition to catch the «whole word» as suggested by Jongware.

But now some words get also tagged like the R. in this example:

Eque P. Brigard molluptatio mi, ius assundam apicili quiscil igenisquia sime ium essitaur minus dit re et aut que pro ma nus voluptam esequi con rehenet, Theodore Richter assectotatio um fugiam, cones Gerald Ireland dolo mil et autatis qui ut fugis ut dolumquo eatiusd R. Tanco. Que dolorist lam voluptas dolest, tem accum eos Th. Preuss nobitam, et, nis remod quiae consedi diae rem nus dolum quis et offictas R. H. Blanch

It is possible to script, in this kind of words arrange condition, only and exactly those occurrences in the list?

Just to avoid something like the mark of this R. in the last line, that is not part of the list?

Thanks

List (comma delimited)

Gerald Ireland

P. Brigard
R. Tanco
Theodore Richter
Th. Preuss