在indesign中使用脚本获取和设置表中的文本元素

get and set an text element in a table with a script in indesign

本文关键字:设置 文本 元素 获取 indesign 脚本      更新时间:2023-09-26

我正在寻找indesign脚本,我没有找到任何关于这个主题的东西,我认为这很重要。这是我的问题:-如何在indesigncs6中使用JavaScript修改表格中的文本框架?

我试过这样的指令:

app.activeWindow.activePage.textFrames[0];

但是这不起作用

提前感谢!

页面通常有一个文本框架,其中包含一个表格。据我所知,表必须锚定在一个文本框架内。如果在该表中也有一个文本框架,那么您需要这样做来访问它:

var doc = app.activeDocument;
doc.pages[0].textFrames[0].tables[0].textFrames[0];

换句话说,您需要引用文本框架两次。一个用于包含表格的文本框架,另一个用于表格中的文本框架

InDesign中的Table对象不能包含TextFrame对象。表确实包含单元格。单元格包含文本。一个Text对象可以包含一个TextFrame。在这种情况下,它将是锚定或内联文本框架。
因此,如果确实有一个文本框架锚定在一个表中的某些文本,您将访问它如下(让我们说,在这种情况下,用户在运行脚本之前在UI中选择了一个表,并且该表中的第7个单元格包含一个锚定的文本框架):

app.selection[0].cells[6].texts[0].textFrames[0];

返回单元格中的第一个TextFrame。

然而,这是一个相当不寻常的情况。
将文本框架锚定在单元格上通常没有多大意义,因为单元格本身可以包含所需的任何文本。