Hier ist etwas, was helfen wird, basierend auf another answer I provided not long ago. Damit in dieses Snippet etwas eingefügt werden kann, MÜSSEN Sie in Ihrem Dokument SELECTED TEXT haben. So weiß dieses Snippet, wo es eingefügt werden soll.
var myDoc = app.activeDocument;
if(app.documents.length != 0){
if(app.selection.length == 1){
try{
var frame1 = app.selection[0];
frame1 = app.paste();//works
//app.pasteWithoutFormatting(frame1);;works too
}
catch(e){
alert ("Exception : " + e, "Exception");
}
}
else{
alert ("Please select text", "Selection");
}
}
else{
alert("Something wrong");
}
Aktualisiert folgenden Kommentar: Für diesen Schnipsel habe ich ein InDesign-Dokument, in das ich 2 Objekte erstellt. Ein Objekt ist eine TextBox, in die ich einen Textblock eingegeben habe, und das zweite Element ist einfach ein Polygon, das ich unter die textBox gezeichnet habe. Ich habe den Inhaltstyp des Polygons nicht festgelegt, sondern einfach das Polygon gezeichnet. Um die pageItems effektiv zu finden, die ich wirklich will und brauche, habe ich Script Labels
verwendet, obwohl das Verwenden von Etiketten nicht obligatorisch ist. Solange Sie einen Mechanismus haben, um zu wissen, dass Sie mit dem richtigen Objekt zu tun haben.
Die Idee hinter diesem Code-Schnipsel ist wirklich einfach:
Select the Source object
Copy the selected object
Select the Destination object
Paste into the selected object
.
var myDoc = app.activeDocument;
var source;
var destination;
for(var i = 0; i < myDoc.pageItems.length; i++)
{
if(myDoc.pageItems[i].label == "source")
{
source = myDoc.pageItems[i];
app.selection = myDoc.pageItems[i];
app.copy();
}
else if(myDoc.pageItems[i].label == "destination")
{
destination = myDoc.pageItems[i];
}
if(source !== undefined && destination !== undefined)
{
break;
}
}
app.selection = destination;
app.pasteInto();
Mit welchem Befehl kann ich meine Zwischenablage direkt ** in ** ein Polygon einfügen? Z.B. Ich wähle ein Polygon, führe das Skript aus und danach habe ich einen Textrahmen in dieses Polygon eingefügt. – Malte
@Malte, aktualisiert –
Danke! Der Punkt war 'app.pasteInto()', von dem ich nichts wusste. Ich benutzte 'app.paste()' – Malte