Find Change Multi Doc
Script for Adobe InDesign
Latest update 9/28/2022, version 2.0
The script reads a spreadsheet of find/change pairs, either text or GREP, and replaces each instance of matching text in every document in a selected folder, including subfolders if desired. A virtually unlimited number of find/change pairs are performed on multiple documents in a single operation rather than countless visits to the InDesign Find/Change dialog.
- Find/Change across multiple documents
- Match whole words only
- Ignore case
- Keep capitalization
- User-configurable localization
Before using the script
The script requires a spreadsheet of find/change pairs, saved as Comma Separated Values (CSV format). The spreadsheet must have at least two columns, one for the text or GREP pattern to find, and another column for its replacement.
Example data Find/Change Text
Example data Find/Change GREP
The first row is the header, which identifies the contents of each column. In the examples, the column headers are Find and Change. The columns could just as well be labeled “match” and “replace,” or any other desired labels. The precise column labels, or their order, are not important, and there is no harm in extra columns. Which column is the text or GREP pattern to find, and which is its replacement, are selected in the script interface.
The user must decide which data type to use for the spreadsheet, either plain text “Find what” and “Change to” pairs, or GREP patterns and their replacement. The spreadsheet must be one or the other, the choice of which is selected in the script interface option Data type. This choice of Text or GREP is equivalent to selecting either the Text tab or the GREP tab in the InDesign Find/Change dialog, and all special characters available in the dialog are recognized by the script.
How to use the script
The interface is divided into three sections: Documents, Data file, and Options. Select the documents folder and data file, set the desired options, and click the OK button to begin. A progress bar is displayed while processing, and the user is notified when complete.
Folder — select the folder of InDesign documents to process. IMPORTANT: each file is opened, altered, and saved without user intervention, and there is no means to undo the changes. Make backup copies of documents before proceeding.
Include subfolders — when enabled, documents in all subfolders are also processed.
Data File (CSV)
Delimiter — the character that separates columns of the data file. The default is comma, normal in the United States. Some European countries use semicolon rather than comma. Select the delimiter relevant to your region of the world.
File — select the CSV data file, then the column drop-down lists (next) are loaded with the columns discovered in the data.
Column find — select the column of text to find or GREP patterns to match.
Column change — select the column of replacement text.
Data type — indicates whether the data is text “Find what” and “Change to” pairs, or the data is GREP patterns and their replacement. Choose the data type that matches the spreadsheet.
Whole word — text matches only when whole words. If disabled, text matches also when words contain the text. For GREP, this option is achieved by wrapping the GREP pattern in \< and \>, which indicates whole word. The same could be done to patterns in the data and get the same result. The option exists to simplify the data file if desired. IMPORTANT: do not use this option if GREP patterns in the data file already contain the command for whole word. Doing so prevents patterns from matching.
Case insensitive — text matches regardless of upper or lower case, or any combination of either. For GREP, this option is achieved by prefixing the GREP pattern with (?i), which indicates case insensitive. The same could be done to patterns in the data and get the same result. The option exists to simplify the data file if desired. IMPORTANT: do not use this option if GREP patterns in the data file already contain the command for case insensitive. Doing so prevents patterns from matching.
Keep capitalization — available when the option Case insensitive is enabled. When the text found is capitalized, the change is capitalized even if not capitalized in the spreadsheet. If the text found is not capitalized, the spreadsheet data is used as-is. This is useful for words that are normally not capitalized, but could appear at the beginning of sentences, requiring capitalization. Without this option, such cases require two separate find/change pairs, one capitalized, another not, and processed with the Case insensitive option disabled, otherwise risk the beginning of sentences becoming lowercase.
By default the script language is US English, which does not require further download or configuration. To have the script interface display other languages, choose from the available languages below. Download and copy the .i18n file to the script folder alongside the script. When launched, the script detects the language file and displays interface text in that language. If your language is not listed, download the English file and translate it. The file is plain text formatted as JSON, containing interface text in English, and a second value for its translation, which for the English file is the identical text. Copy the file and rename it to replace “en” with the relevant code for your language, then edit the file to change each line’s second value to the translation in your language. For more detailed instructions of how to edit and install i18n files, see How to Localize Scripts.
FREE 30 DAY TRIAL
Single-user perpetual license
For help installing scripts, see How to Install and Use Scripts in Adobe Creative Cloud Applications.
Also available for hire to program custom solutions. Contact William for more information.
IMPORTANT: by downloading any of the scripts on this page you agree that the software is provided without any warranty, express or implied. USE AT YOUR OWN RISK. Always make backups of important data.