Hi Jongware, Thanks for your reply The script that I was after was indeed the one posted by Sumit_Garg, which I was able to get working after the comment of Jump_Over - sorry was so caught up in finishing the job that I wasn't able to get back to reply that it was solved after I removed the spaces that broke it. The script 'SplitStory' provided with Indesign that you are revering to splits the story up the seperate text frames that it consists of while with the script by Adi Ravid (a.k.a. FourAces as it seems) 'StorySplitter' you can select if you want to 1. Split all text frames (like 'SplitStory'); 2. Split before selected text frame; 3. Split after selected text frame. So with option 2 or 3 you can split the selected story at the selected text frame. As I wanted to cut up a big Word file that I had imported at the chapters, it was very helpfull instead of selecting all text that would overset, cut it, unthread the frame and then paste it again in the next page - and that for each chapter. And with a file that was already instable as it was... For completeness sake, here's the corrected script: /* ---------------------------------------------------------------------- -------------------------------------------- StorySplitter ---------------------------------------------------------------------- -------------------------------------------- An InDesign CS/CS2/CS3 JavaScript by FourAces © The Final Touch 2006 Version 3.0.0 Splits the selected Story to separate Text Frames, while maintaining their contents. ---------------------------------------------------------------------- -------------------------------------------- */ var myScriptVer = "3.0"; if(app.documents.length != 0){ var mySelection = app.activeDocument.selection; if(mySelection.length != 0){ myObjectType = mySelection[0].constructor.name; if(myObjectType == "TextFrame"){ //The Interface Dialog var myDialog = app.dialogs.add({name:"Story Splitter v"+ myScriptVer}); with(myDialog){ with(dialogColumns.add()){ with (dialogRows.add()){ with(borderPanels.add()){ var mySplitOptions = radiobuttonGroups.add(); with(mySplitOptions){ radiobuttonControls.add({staticLabel:"Split All Frames", checkedState:true}); radiobuttonControls.add({staticLabel:"Split Before Selected Frame"}); radiobuttonControls.add({staticLabel:"Split After Selected Frame"}); } } } with (dialogRows.add()){ staticTexts.add({staticLabel:"© The Final Touch"}); } } } var myResult = myDialog.show({name:"SplitOptions"}); if(myResult == true){ var myStory = mySelection[0].parentStory; if(app.version.split(".")[0] >= 5){ var myTextFrames = myStory.textContainers; } else{ var myTextFrames = myStory.textFrames; } var myStoryFramesCount = myTextFrames.length; if(myStoryFramesCount > 1){ for(f = 0; f < myStoryFramesCount; f++){ if (mySelection[0] == myStory.textFrames ){ var myTextFrame = f; } } switch(mySplitOptions.selectedButton){ case 0: mySplitAll(); break; case 1: mySplitBefore(); break; case 2: mySplitAfter(); break; } } else{ alert("Are You Kidding Me?!\nThe Story you selected has only ONE text frame."); } } } else{ alert("Wrong Selection\nYou selected the wrong type of object. Please select a Text Frame."); } } else{ alert("No Selection Made.\nPlease select a Story to split."); } } else{ alert("No Active Document Found.\nPlease open an InDesign document and select a Story to split."); } //-------------------------------------------------------------------- -------- function mySplitAll(){ for(i = 0; i < myStoryFramesCount; i++){ myTextFrames.duplicate(); } for(i = 0; i < myStoryFramesCount; i++){ if(app.version.split(".")[0] >= 5){ myTextFrames.remove(); } else{ myTextFrames[0].remove(); } } } function mySplitBefore(){ if(mySelection[0].previousTextFrame == null){ alert("Unable to break thread.\nThe selected Text Frame is the FIRST text frame of the thread."); } else{ var myBfBreakFrame = mySelection[0].previousTextFrame; var myAfBreakFrame = mySelection[0]; var myBreakStory = myBfBreakFrame.parentStory; mySelection[0].previousTextFrame = null; if(myBfBreakFrame.overflows == true){ var myOversetText = myBreakStory.texts.itemByRange(myBfBreakFrame.insertionPoints[-1],myBreakStory.insertionPoints[-1]); myOversetText.select(); app.cut(); app.select(myAfBreakFrame.insertionPoints[0]); app.paste(); } } } function mySplitAfter(){ if(mySelection[0].nextTextFrame == null){ alert("Unable Break Thread.\nThe selected Text Frame is the LAST text frame of the thread."); } else{ var myBfBreakFrame = mySelection[0]; var myAfBreakFrame = mySelection[0].nextTextFrame; var myBreakStory = myBfBreakFrame.parentStory; mySelection[0].nextTextFrame = null; if(myBfBreakFrame.overflows == true){ var myOversetText = myBreakStory.texts.itemByRange(myBfBreakFrame.insertionPoints[-1],myBreakStory.insertionPoints[-1]); myOversetText.select(); app.cut(); app.select(myAfBreakFrame.insertionPoints[0]); app.paste(); } } } Message was edited by: Jaxiter Message was edited by: Jaxiter Somehow the forum software inserts white-space on its own :s - For the code to work, search for ,myB reakStory.insertionPoints[-1]); and replace with ,myBreakStory.insertionPoints[-1]);
... View more