无法设置textItem.contents的值

时间:2014-11-24 11:26:17

标签: extendscript photoshop-script

我正在尝试编写一个脚本,用于更新Photoshop中文本图层的值。

我有一个存储在变量myLayer中的图层,我将其注销,因此我知道它是一个ArtLayer,其类型为LayerKind.TEXT且与textItem对象相关联有一个字符串值。一切如我所料。

文档说textItem.contents是可读写的,所以我认为myLayer.textItem.contents = "Hello World"应该更新值,但是当我尝试这个时,我得到General Photoshop Error occurred. This functionality might not be available in this version of Photoshop

有人可以就我缺少的东西提出建议吗?

我正在使用Photoshop CC 2014和CC 2014 Javascript Reference

提前感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

当没有代码示例时,很难看出什么是错误的。这对我有用。

在PS CC 2014 Mac OSX中测试

// needs a Photoshop document with only one textlayer
var d = app.activeDocument;
var l = d.artLayers[0];
if(l.hasOwnProperty ("textItem")){
    $.writeln("yes");
    l.textItem.contents = "Hello World";
}

答案 1 :(得分:0)

这适用于CS2 :(假设活动层(mylayer)是文本层)

var srcDoc = app.activeDocument;
var myLayer= srcDoc.activeLayer;

var text = myLayer.textItem.contents;
myLayer.textItem.contents = "Hello World";