我试图找到事件页面上的所有“#”并将它们更改为数字,即。 1、2、3。 。 .
下面的代码是我认为可行的,但事实并非如此。相反,它将每个“#”更改为“0”。
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "#";
var finds = app.activeDocument.findText();
if (finds.length > 0) {
for (var i = 0; i < finds.length; i++)
{
app.changeTextPreferences.changeTo = "no: " + i;
app.activeDocument.changeText();
}
else
{
alert("Nothing has been found");
}
}
最佳答案
正如 ali haydar 所说,changeText 将全局应用,并将打破以前的 findText 文本引用。您需要的是在循环中使用内容属性。
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "#";
var finds = app.activeDocument.findText();
if (finds.length > 0)
{
for (var i = 0; i < finds.length; i++)
{
finds[i].contents = "no: " + String(i);
}
}
else
{
alert("Nothing has been found");
}
关于javascript - 在 InDesign javascript 中使用变量更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36449536/