问题描述
我希望制作一个非常的脚本。我只想获取一个具有源文本基本图形属性的图层,并将该图层重命名为该源文本当前的值。
这是相关代码,它遍历所有选定的图层,应该访问图层的属性并将其重命名为源文本属性的值。
for(var i = 0; i < curComp.selectedLayers.length; i++) {
var currLayer = curComp.selectedLayers[i];
var sourceTextProp = currLayer.sourceText;
var name = sourceTextProp.value;
try{
currLayer.name = name;
}catch(error) {
$.writeln('this layer has no source');
}
currLayer.name = name;
}
var sourceTextProp = currLayer.sourceText; var name = sourceTextProp.value;
明显给我带来了问题。我试过把它当作一个文本层来对待,在这里尝试使用一个属性对象,但都无济于事。我不知道该怎么做,而且似乎没有在线教程能很好地说明这一点。
有没有办法搜索对象并找到某种类型的属性?喜欢搜索“源文本”并让脚本找到值?这感觉就像我应该能够做的事情。
这里的关键问题是无法访问源文本的值。如果我只是给它一个字符串,我可以用这个脚本很好地重命名图层。
任何帮助将不胜感激。
解决方法
文本图层的 sourceText
属性是一个 textDocument 对象,而不是您可能期望的字符串。您可以使用
var name = sourceTextProp.value.text;