I have a indesign template with a text box that is filled by the script - The date looks like this -
Friday, August 22, 2008
The script worked perfect in CS2 when I upgraded to CS3 it no longer works???? Not sure about this one????
------------------------------------
BELOW IS THE ERROR I'M GETTING
------------------------------------
JavaScript Error!
Error Number: 24
Error String: aDoc.search is not a function
Line:29
Source: aDoc.search("", false, false, dateString,{appliedCharacterStyle:cStyleName});
------------------------------------
--------------------------------------------------
//DESCRIPTION: Use to insert date/time into document.
if (app.documents.length == 0) { exit() }
insertDTs(app.documents[0]);
function insertDTs(aDoc) {
var curPrefs = aDoc.characterStyles[0].extractLabel("dtprefs");
if (curPrefs == "") {
// Doc has no prefs; use saved prefs
curPrefs = getCurPrefs(File(getScriptPath().absoluteURI.replace(/Insert\.jsx/, "Prefs.txt")));
} // end if curPrefs
var prefParts = curPrefs.split("\n");
if (prefParts[2] != "[None]") {
insertIt(aDoc, prefParts[0], prefParts[2]);
}
if (prefParts[3] != "[None]") {
insertIt(aDoc, prefParts[1], prefParts[3]);
}
function insertIt(aDoc, formString, cStyleName) {
var formStrings= ["Day, Month, Year"]
var theFuncs = [dayMonthYear]
var charStyleStrings = aDoc.characterStyles.everyItem().name
if (indexOf(charStyleStrings, cStyleName) < 1) { return } // style not found or is No Style
var func = indexOf(formStrings, formString);
if (func < 0) { return } // requested form not recognized
var dateString = theFuncs[func](new Date());
aDoc.search("", false, false, dateString, {appliedCharacterStyle:cStyleName});
} // end insertIt
function dayMonthYear(date) {
date.setDate(date.getDate()+1);
// returns dayName, monthName date, year
var myDateString = date.toLocaleDateString();
myParts = myDateString.split(" 0");
if (myParts.length != 1) {
myDateString = myParts[0] + " " +myParts[1];
}
return myDateString.slice(0,-5) + "," + myDateString.slice(-5);
}
function indexOf(array, find,offs) {
for( var i = offs == undefined ? 0 : offs; array.length > i; i++ ) {
if( array==find ) {return i}
}
return -1;
}
function getScriptPath() {
// This function returns the path to the active script, even when running ESTK
try {
return app.activeScript;
} catch(e) {
return File(e.fileName);
} // end try
} // end getScriptPath
} // end insertDTs
--------------------------------------------------