获取所选设计中的文本框架的数量

问题描述 投票:0回答:1

我有一个文本框,我想在上面运行一些代码。这段代码将删除双精度空格...作为设计者,我需要纯净的文本,而不是写作者在句点之后如何具有双精度空格。我有一个遍历当前文档每一帧的代码。我需要做的只是选择某些文本框架来运行该代码。

这是我所拥有的。

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);

我确信这是一个简单的解决方法。我只是不知道我在做什么错。

有什么想法吗?

javascript conditional-statements selection adobe-indesign extendscript
1个回答
0
投票

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

这应该做,您需要什么:

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

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

inspect(selectedTextFrames);

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

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

alert(i + " text frame(s) have been processed.");
© www.soinside.com 2019 - 2024. All rights reserved.