FrameMaker ExtendScript
Suchparameter definieren
Mittels der Funktion ''Find' des Doc-oder Book-Objekts (FM-Dokument/FM-Buch) kann ein Dokument oder auch ein Buch analog zur Suchfunktion in der Oberfläche durchsucht werden. Die Definition der Suchparameter führt aber wie im Adobe Forum
immer wieder für Schwierigkeiten.
Im Gegensatz zum Handling von Open- oder Save-Paramertern, bei denen mittels
oder
die Default-Parameterlister ermittelt werden können, müssen diese Parameter bei der Suchfunktion erstellt werden. Hierzu müssen zunächst die Objeke PropVals und PropVal erzeugt werden, bevor die Suchfunktion ausgeführt werden kann. Wie dies in der Praxis aussieht zeigt das folgende Snippet, welches das Dokument nach dem ersten Vorkommen des Texts "Test" durchsucht.
Im Gegensatz zum Handling von Open- oder Save-Paramertern, bei denen mittels
Open default parameter
var openProps = app.GetOpenDefaultParams() ;
Savedefault parameter
var saveProps = app.GetSaveDefaultParams() ;
Suchfunktion
var doc = app.ActiveDoc;
var range = doc.TextSelection;
var propVals = new PropVals() ;
propVal = new PropVal() ;
propVal.propIdent.num = Constants.FS_FindText ;
propVal.propVal.valType = Constants.FT_String;
propVal.propVal.sval = "Test" ;
propVals.push(propVal);
//Add further search params here
//Execute find method
var findrange = doc.Find (range.end, propVals);
//Check if text found
if (findrange.beg.obj.ObjectValid())
alert("Text found") ;
else
alert("Text not found") ;
Neuen Kommentar posten