FrameMaker Super Find / Change Reloaded

Did you ever wanted to replace the format of all cross-references with another cross-reference format? Or one variable format with another? Or one condition tag with another one? Or change the table style for all tables with another table style? Or change the formatting of all paragraphs tagged with this wired “03_a_bd-ind-l1_2006_v3” paragraph styles with a simple “Body” style? Or reformat all those words tagged with the character style “bold” with the character style “strong”?

A couple of years back, we published the free ExtendScript “Change Formats”. The script made it possible find and change Variables, Cross-Reference Formats and Conditional Tags. We got so much feedback over the years and still today the script gets a lot of downloads. So we decided to make this script even more powerful and update it to FrameMaker (2015 release).

Introducing “FrameMaker Super Find Change”

Our new ExtendScript “Super Find Change” for FrameMaker (2015 release) extends the possibilities of the first script. It makes it easy to find and change styles / formats in a single-file or on book level:

Paragraph Styles

Character Styles

Table Styles

Variables (system and user variables!)

Cross-Reference Formats

Conditional Tags

This script also demonstrates the strength and flexibility of FrameMaker in combination with ExtendScript. ExtendScript makes it easy to add new functionalities on top of FrameMaker and automating manual steps.

Steps to Install

Note: If you have the old script installed, make sure to delete it first.

The script is for demonstrating the possibilities of ExtendScript and for learning purposes. It is provided without any warranty and any use is on your own risk.

We hope this will prove useful to many folks, and you can add extra functionality as per your requirements to these scripts to make it even more powerful. Let us know what you think in the comments below.

Bharat Prakash is the Product Solution Consultant for the Technical Communication unit at Adobe and has more than a decade’s experience in software development, testing and consulting. He has extensive experience in end-to-end deployment of features from conception to delivery with wide exposure to different SDLC models. Bharat is an expert in Structured Authoring and various industry standards like DITA and MathML.

16 thoughts to “FrameMaker Super Find / Change Reloaded”

hello,
Can we find the text and replace it with a variable? I want to apply a variable to the Product Name across the book. The product name as of now is a plain text. Is it possible to replace it with the Product name variable?

Running 2017 and cannot get the utility to do a global paragraph tag change to the entire book in one pass. In fact, it does not change anything at all and reports ZERO changes. It works in the individual files, but that facility already exists. I selected 1) just the book at the top of the book pane, 2) all the files in the book, 3) opened all the files in the book and selected all files in the book pane, ran the utility for each and got the same results–nothing.

The updated script is still buggy.
Let’s say I’d like to replace variable A with variable B and delete variable A afterwards. Instead of doing that, the script just deletes variable A. It’s definitely a well-tested script…

nice catch. I analyzed this and could reproduce it. It’s like this: The script pulls the variable definitions from the first book component and offers them in the drop downs. When you want to replace a variable on book level, you need to make sure, that the variable you select in the “Replace with:” drop-down is also available in the other book components before you execute the script. The script does not create missing variables in book components and therefore replacing an existing variable with a variable that is not existent in the document actually deletes the variable.
Solution: make sure that all variables are available in all documents before you run the script. You can do this by opening the “variable source document” that contains all variables you want to operate on, opening the book file, select all book components and use File > Import … > Formats… and import the variables from the open “variable source document”.

Please note, that the script is for demonstrating the possibilities of ExtendScript and for learning purposes. It does not catch all possible scenarios that one might think of and the focus is not on error handling.
The code is provided open and intended to provide a starting point for people who want to write their own ExtendSripts. So, please feel invited to play with it, modify the code or even add new functionalities. And please feel invited to share it, so that other peers can use it as well. The more people contribute, the better it will get.

I just ran into this while doing a search. I haven’t had an opportunity to play with it yet (management is clearing the red tape before Frame 2015 installation). I’m curious whether it can simply REMOVE a character tag rather than just change it. For example, if our client says “please remove all bolded body text,” can I use this tool to remove the Bold tag from all text without replacing it with some other tag?