Lade...
 

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(externer Link) immer wieder für Schwierigkeiten.
Im Gegensatz zum Handling von Open- oder Save-Paramertern, bei denen mittels
Open default parameter
var openProps = app.GetOpenDefaultParams() ;
oder
Savedefault parameter
var saveProps = app.GetSaveDefaultParams() ;
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.
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") ;
veröffentlicht am 13 02 2012
Drucken