Select InDesign 中线程中的所有文本?
Select all text in thread in InDesign?
我正在尝试 select InDesign CS4 中一个线程中的所有文本,这样我就可以使用 doScript
在 selected 文本上调用另一个脚本(不是我制作的) . This question 让我觉得这是可能的。我试过 frame.contents.select();
,但这给出了错误 "frame.contents.select is not a function."
如何使用 extendscript / javascript select InDesign 中线程的 内容?
(<EM>Any_text_item</EM>).contents
是纯文本 interface ;它不直接访问 InDesign 的原生 Text
object,而是将文本与常规 Javascript 字符串相互转换。因此 selecting Javascript 文本(如果可能)对 InDesign 文档本身中的文本没有任何影响。
要从任何文本框架(或其他对象)获取所有串接文本,您可以使用它的 parentStory
对象。对于 select(原生)文本,将其 texts[0]
属性 定位并在其上使用 select
:
frame.parentStory.texts[0].select();
如果您能找到 "current selection" 被选中的位置,您可以在其前面添加以下行:1
if (app.selection.length == 1 && app.selection[0].hasOwnProperty("previousTextFrame"))
{
// alert ('we must be a text frame!');
app.selection[0].parentStory.texts[0].select();
}
例如,在脚本 markdownId.jsx
中,第 29 行附近,就在
之后
tagset = findTagSet();
if (app.selection.length > 0)
{ // <- add the new lines immediately below this one, above the next
if (app.selection.length == 1 && app.selection[0].hasOwnProperty('baseline') && app.selection[0].length > 1)
¹ 最好是测试一个 属性 你确定 none 'unwanted' 个对象。早些时候,我使用了 parentStory
,但意识到纯文本 selection 也有此 属性,因此它在常规 selection 和文本框架之间没有区别。对于 previousTextFrame
,您可以确定只有文本框和文本路径才是正确的对象类型。
我正在尝试 select InDesign CS4 中一个线程中的所有文本,这样我就可以使用 doScript
在 selected 文本上调用另一个脚本(不是我制作的) . This question 让我觉得这是可能的。我试过 frame.contents.select();
,但这给出了错误 "frame.contents.select is not a function."
如何使用 extendscript / javascript select InDesign 中线程的 内容?
(<EM>Any_text_item</EM>).contents
是纯文本 interface ;它不直接访问 InDesign 的原生 Text
object,而是将文本与常规 Javascript 字符串相互转换。因此 selecting Javascript 文本(如果可能)对 InDesign 文档本身中的文本没有任何影响。
要从任何文本框架(或其他对象)获取所有串接文本,您可以使用它的 parentStory
对象。对于 select(原生)文本,将其 texts[0]
属性 定位并在其上使用 select
:
frame.parentStory.texts[0].select();
如果您能找到 "current selection" 被选中的位置,您可以在其前面添加以下行:1
if (app.selection.length == 1 && app.selection[0].hasOwnProperty("previousTextFrame"))
{
// alert ('we must be a text frame!');
app.selection[0].parentStory.texts[0].select();
}
例如,在脚本 markdownId.jsx
中,第 29 行附近,就在
tagset = findTagSet();
if (app.selection.length > 0)
{ // <- add the new lines immediately below this one, above the next
if (app.selection.length == 1 && app.selection[0].hasOwnProperty('baseline') && app.selection[0].length > 1)
¹ 最好是测试一个 属性 你确定 none 'unwanted' 个对象。早些时候,我使用了 parentStory
,但意识到纯文本 selection 也有此 属性,因此它在常规 selection 和文本框架之间没有区别。对于 previousTextFrame
,您可以确定只有文本框和文本路径才是正确的对象类型。