Javascript 是否可以在Adobe Illustrator中复制文本范围(由脚本选择)?

Javascript 是否可以在Adobe Illustrator中复制文本范围(由脚本选择)?,javascript,adobe-illustrator,extendscript,Javascript,Adobe Illustrator,Extendscript,我尝试在我编写的脚本中,从用户选择的文本框中选择一个文本范围,然后将所选文本范围复制到剪贴板: var userSelection = activeDocument.selection; userSelection[0].textRange.lines[0].select(); app.copy(); 当我运行上述代码时,会弹出以下错误消息: 当我确认错误消息并停止脚本操作并返回Illustrator时,脚本似乎选择了文本范围而没有进入文本编辑模式: 当我按下Cmd+C(在mac上)或Cm

我尝试在我编写的脚本中,从用户选择的文本框中选择一个文本范围,然后将所选文本范围复制到剪贴板:

var userSelection = activeDocument.selection;
userSelection[0].textRange.lines[0].select();
app.copy();
当我运行上述代码时,会弹出以下错误消息:

当我确认错误消息并停止脚本操作并返回Illustrator时,脚本似乎选择了文本范围而没有进入文本编辑模式:

当我按下Cmd+C(在mac上)或Cmd+X时,会弹出上面相同的错误消息

所以我意识到,如果不进入文本编辑模式,您可能无法复制文本范围


是否有方法进入文本编辑模式并复制文本范围,或者有其他方法复制文本范围?

可以使用line对象的
duplicate()
方法将该行复制到目标文本框中,将文本从一个文本框移动到另一个文本框中,并保持其所有字符属性不变。请参见以下示例片段:

var doc=app.activeDocument;
var sourceFrame=doc.textFrames.getByName(“源”);
var targetFrame=doc.textFrames.getByName(“目标”);
var line=sourceFrame.textRange.line[0];
行。重复(目标帧);

你的最终目标是什么?您需要在另一个应用程序中插入文本吗?事实上,最终目标是将文本范围粘贴到另一个文本框中,以便将所有字符属性转移到新的文本框中。我知道这种粘贴只能在文本编辑模式下进行。所以也许我应该问“如何将文本范围粘贴到文本框中?”,但这可能并不重要。最后,我想知道的是如何让文本进入文本编辑模式,或者有另一种方法将文本范围粘贴到文本框中。这正是我提问的原因。因为如果你想在Illustrator中移动文本,你应该避免使用
copy()
paste()
方法,因为有专门的方法来移动文本,而不需要剪贴板。我马上就把我的答案贴出来。