在设计中获取选定文本框的数量

grab the count of selected textframe indesign

我有一个文本框,我想在上面 运行 一些代码。此代码将删除双空格...作为设计师,我需要干净的文本,而不是作家在一段时间后如何使用双空格。我有一个代码遍历当前文档的每一帧。我需要做的是 select 只有某些文本框 运行 该代码。

这是我的。

var myDoc = app.activeDocument;
var textFrame = myDoc.textFrames.selection[0];

 //make sure selected text frame
if(!(app.selection[0] instanceof TextFrame)) {
    alert("Please select a text frame");
    exit();
} else {
for(var i = 0; i < textFrame.length; i++) {
    var frameCount = textFrame[i];
}

alert("text frame amount:" + frameCount);

我相信这很容易解决。我只是不知道我在这里做错了什么。

有什么想法吗?

如果您想允许选择多个文本框,您首先需要循环选择以收集所有选定的项目,这些项目实际上是文本框,然后在第二步中循环遍历所有这些收集的文本框。

这个应该可以,你需要的:

var sel = app.selection;
var selectedTextFrames = [];

for (var i = 0; i < sel.length; i++) {
  if(sel[i] instanceof TextFrame) {
    selectedTextFrames.push(sel[i])
  }
}

if(!selectedTextFrames.length) {
  alert("Please select one or multiple text frames");
  exit();
}

for (var i = 0; i < selectedTextFrames.length; i++) {
  // do something with each selected text frame
}

alert(i + " text frame(s) have been processed.");