我正在尝试创建一个与SplitStory.jsx完全相同的InDesign脚本,只是它不需要先选择一个线程文本框架,而是通过所有进行线程/链接在整个文件中。
到目前为止,这是我所拥有的,但它似乎没有做任何事情。我对脚本非常陌生。
main();
function main(){
//Make certain that user interaction (display of dialogs, etc.) is turned on.
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
if(app.documents.length != 0){
var myDoc = app.activeDocument;
var myStories = 0;
for (var i = 0; myDoc.stories.length > i; i++)
myStories = myDoc.stories[i];
mySplitStory(myStories);
myRemoveFrames(myStories);
}
else{
alert("Please open a document and try again.");
}
}
function mySplitStory(myStory){
var myTextFrame;
//Duplicate each text frame in the story.
for(var myCounter = myStory.textContainers.length-1; myCounter >= 0; myCounter --){
myTextFrame = myStory.textContainers[myCounter];
myTextFrame.duplicate();
}
}
function myRemoveFrames(myStory){
//Remove each text frame in the story. Iterate backwards to avoid invalid references.
for(var myCounter = myStory.textContainers.length-1; myCounter >= 0; myCounter --){
myStory.textContainers[myCounter].remove();
}
}
我觉得我需要向mySplitStory(myStories);
添加一些内容,例如mySplitStory(myStories.currentStory);
,但我无法在网上找到任何相关内容(或者在Adobe的脚本文档中找到 - 但也许我不是在寻找正确的地方)。
非常感谢任何帮助!
答案 0 :(得分:2)
这是一个非常简单的脚本,它允许您循环遍历文档中的所有textFrame,然后使用线程文本框执行任何操作。基本上,如果任何给定的textFrame具有textFrame
或nextTextFrame
的{{1}}对象,您就知道它已经过线程化了。
previousTextFrame
希望这会有所帮助!!