在JavaScript InDesign脚本中循环遍历所有线程文本帧?
我正在尝试创建一个InDesign脚本,它的功能与SplitStory.jsx完全相同,只是它不需要首先选择一个线程文本框架,而是在整个文档中循环所有线程化/链接的内容 这是我到目前为止所拥有的,但它似乎没有起到任何作用。我对脚本编写相当陌生在JavaScript InDesign脚本中循环遍历所有线程文本帧?,javascript,scripting,automation,adobe-indesign,Javascript,Scripting,Automation,Adobe Indesign,我正在尝试创建一个InDesign脚本,它的功能与SplitStory.jsx完全相同,只是它不需要首先选择一个线程文本框架,而是在整个文档中循环所有线程化/链接的内容 这是我到目前为止所拥有的,但它似乎没有起到任何作用。我对脚本编写相当陌生 main(); function main(){ //Make certain that user interaction (display of dialogs, etc.) is turned on. app.scriptPrefere
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的脚本文档中)找不到关于这方面的任何信息,但可能我找的地方不对
任何帮助都将不胜感激 这是一个非常简单的脚本,它允许您循环浏览文档中的所有文本框,然后对线程文本框执行任何需要的操作。基本上,如果任何给定的textFrame有一个
textFrame
对象用于nextTextFrame
或previousTextFrame
,您就知道它是线程化的
test();
function test(){
var myDoc = app.open('c:/123.indd');
//get all textframes:
var allTextFrames = myDoc.textFrames;
for(var i=0;i<allTextFrames.length;i++){
var tf = allTextFrames[i];
if(tf.nextTextFrame != null || tf.previousTextFrame != null){
//text frame is threaded, do work:
}
}
}
test();
功能测试(){
var myDoc=app.open('c:/123.indd');
//获取所有文本框:
var allTextFrames=myDoc.textFrames;
对于(var i=0;i