Copy link to clipboard
Copied
#targetengine "session"
main();
function main(){
var myEventListener = app.addEventListener("beforeClose", myCheckSpelling, false);
}
function myCheckSpelling(myEvent){
app.menuActions.item("Check Spelling...").invoke();
}
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
/* CheckSpelling.jsx
Version 1
This script is written to remind a user to spell-check the current document.
Put this script into Startup scripts folder and restart InDesign if it's running. */
#target indesign
#targetengine "session"
var myLastDoc;
var myConfirm;
var myCheckSpellEvList = app.menuActions.item("Check Spelling...").addEventListener("beforeInvoke", myCheckSpellHandler, false);
var myBeforeCloseEvList = app.addEventListener("beforeClose", myBeforeCloseHandler, false);
var myAfterCloseEvList = app.addEventListener("afterClose", myAfterCloseHandler, false);
function myBeforeCloseHandler(myEvent){
myConfirm = false;
if (!eval(myEvent.parent.extractLabel("SpellingChecked")) && myEvent.parent.saved == true){
myLastDoc = myEvent.parent.fullName;
myConfirm = confirm("Do you want to check spelling now?", false, "You forgot to check spelling!");
}
}
function myAfterCloseHandler(myEvent){
if (!eval(myEvent.parent.extractLabel("SpellingChecked"))){
if (myConfirm) {
app.open(myLastDoc);
app.menuActions.item("Check Spelling...").invoke();
}
}
}
function myCheckSpellHandler(myEvent){
app.activeDocument.insertLabel("SpellingChecked", "true");
}
#targetengine "session"
main();
function main(){
var myCloseMenuAction = app.menuActions.item("Close");
var myEventListener = myCloseMenuAction.eventListeners.add("beforeInvoke",myBeforeInvokeHandler, false);
}
function myBeforeInvokeHandler(myEvent){
var myDoc = app.activeDocument.parent;
myEvent.preventDefault();
myEvent.stopPropagation();
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.neverInteract;
app.menuActions.item("Check Spelling...").invoke();
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
}
var myDocument = app.open(File("/c/myTestDocument.indd"), false);
var myLayoutWindow = myDocument.windows.add();
#targetengine "session"
main();
function main(){
var myEventListener = app.addEventListener("beforeClose", myCheckSpelling, false);
}
function myCheckSpelling(myEvent){
myEvent.parent.parent.windows.add();
app.menuActions.item("Check Spelling...").invoke();
}
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
var myChar = myAnswer[cpt].characters[1];
myChar.kerningValue = -40;
Copy link to clipboard
Copied
A new message was posted by Kasyan Servetsky in
Alex,
InDesign Scripting --
[CS3][JS] beforeClose event listener problem
When I use characters instead of insertionPoints, the error has gone.
var myChar = myAnswer[cpt].characters[1];
myChar.kerningValue = -40;
View/reply at [CS3][JS] beforeClose event listener problem
Replies by email are OK.
Use the unsubscribe form to cancel your email subscription.
Copy link to clipboard
Copied
//FindChangeManualKerning.jsx
//An InDesign CS3 JavaScript
//
//Shows how to add footnotes.
main();
function main(){
mySetup();
mySnippet();
myTeardown();
}
function mySetup(){
var myDocument = app.documents.add();
var myPage = myDocument.pages.item(0);
var myTextFrame = myPage.textFrames.add();
//Set the bounds of the text frame.
myTextFrame.geometricBounds = myGetBounds(myDocument, myPage);
//Fill the text frame with placeholder text.
myTextFrame.contents = TextFrameContents.placeholderText;
}
function mySnippet(){
var myCharacterStyle;
//
var myDocument = app.documents.item(0);
var myPage = myDocument.pages.item(0);
var myTextFrame = myPage.textFrames.item(0);
//Add four instances of "Kvern" at random locations in the story.
for(myCounter = 0; myCounter < 4; myCounter ++){
myWord = myTextFrame.parentStory.words.item(myGetRandom(0, myTextFrame.parentStory.words.length));
var myFootnote = myWord.insertionPoints.item(-1).contents = " Kvern ";
}
myNoCharacterStyle = myDocument.characterStyles.item("[None]");
try{
myCharacterStyle = myDocument.characterStyles.item("kern");
myCharacterStyle.name;
}
catch(myError){
myCharacterStyle = myDocument.characterStyles.add({name:"kern"})
}
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = "Kvern";
app.changeTextPreferences.appliedCharacterStyle = myCharacterStyle;
myDocument.changeText();
app.findTextPreferences.findWhat = "vern";
app.findTextPreferences.appliedCharacterStyle = myCharacterStyle;
app.changeTextPreferences.appliedCharacterStyle = myNoCharacterStyle;
myDocument.changeText();
app.findTextPreferences.findWhat = "K"
app.changeTextPreferences.appliedCharacterStyle = myNoCharacterStyle;
app.changeTextPreferences.kerningValue = -40;
myDocument.changeText();
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
//
}
function myTeardown(){
}
//
//This function gets a random number in the range myStart to myEnd.
function myGetRandom(myStart, myEnd){
var myRange = myEnd - myStart;
return myStart + Math.floor(Math.random()*myRange);
}
//
function myGetBounds(myDocument, myPage){
var myPageWidth = myDocument.documentPreferences.pageWidth;
var myPageHeight = myDocument.documentPreferences.pageHeight
if(myPage.side == PageSideOptions.leftHand){
var myX2 = myPage.marginPreferences.left;
var myX1 = myPage.marginPreferences.right;
}
else{
var myX1 = myPage.marginPreferences.left;
var myX2 = myPage.marginPreferences.right;
}
var myY1 = myPage.marginPreferences.top;
var myX2 = myPageWidth - myX2;
var myY2 = myPageHeight - myPage.marginPreferences.bottom;
return [myY1, myX1, myY2, myX2];
}
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more