【发布时间】:2020-10-03 15:53:32
【问题描述】:
我尝试在我编写的脚本中,从用户选择的文本框中选择一个文本范围,然后将所选文本范围复制到剪贴板:
var userSelection = activeDocument.selection;
userSelection[0].textRange.lines[0].select();
app.copy();
当我运行上面的代码时,弹出如下错误信息:
当我确认错误消息并停止脚本操作并返回 Illustrator 时,脚本似乎选择了文本范围而没有进入文本编辑模式:
当我按 Cmd+C(在 mac 上)或 Cmd+X 时,同样的错误弹出上面的消息。
所以我意识到,如果不进入文本编辑模式,您可能无法复制文本范围。
有没有办法进入文本编辑模式从而复制文本范围,或者还有其他方法可以复制文本范围?
【问题讨论】:
-
你的最终目标是什么?您需要在另一个应用程序中插入文本吗?
-
其实最终目的是将文本范围粘贴到另一个文本框中,以便将所有字符属性转移到新的文本框中。而且我知道这个粘贴只能在文本编辑模式下完成。所以也许我应该问“我如何将文本范围粘贴到文本框架中?”,但这可能并不重要。最后,我想知道的是如何让文本进入文本编辑模式来做到这一点,或者可能有另一种方法将文本范围粘贴到文本框架中。
-
这正是我要问的原因。因为如果你想在 Illustrator 中移动文本,你应该避免使用
copy()和paste()方法,因为有专门的方法来移动不需要剪贴板的文本。稍后会发布我的答案。
标签: javascript adobe-illustrator extendscript