Indesign 脚本:如何粘贴项目

Indesign script: how to pasteboard items

我有这个脚本可以找到段落样式,将库中的项目放在最后并应用对象样式:

myDoc = app.documents[0];

myLib = app.libraries[0];

myObjectStyle = myDoc.objectStyles.item ("marker");



app.findTextPreferences = app.changeTextPreferences = null; 

          app.findTextPreferences.appliedParagraphStyle = "Custom"

        var myFound = app.activeDocument.findText(true);

        alert (myFound.length);

try {

   for (i = 0; i < myFound.length; i++) {

      myIcon = myLib.assets.itemByName("winieta_tr").placeAsset (myFound[i].insertionPoints[-2])[0];

      myIcon.appliedObjectStyle = myObjectStyle;

     // myFound[i].remove ();

      }

   }

catch (e) {alert (e.message)}

我不知道如何更改它,所以这些项目不是从图书馆获得的,而是从粘贴板中获得的 - 任何帮助将不胜感激。

是否可以按名称查找文档中的元素,就像库元素一样?

Is it possible to find elements that are in the document by name, as it is with library elements?

您可以将脚本标签应用于粘贴板上的框架,为其命名。

是的,您可以按名称查找对象(您可以在图层面板中分配该名称)只需使用

myDoc.pageItems.itemByName("myItemName");

如果您在特定跨页上查找相同的东西(例如,如果多个跨页上的多个项目具有相同的名称),您可以使用

myDoc.spreads[0].pageItems.itemByName("myItemName");

或者如果您只想使用当前活跃的点差

app.activeWindow.activeSpread.pageItems.itemByName("myItemName");

请确保不要使用页面来解决粘贴板上的页面项目,因为粘贴板不属于任何页面。