Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textframe in anderes Dokument kopieren (CC2019,Win10)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Textframe in anderes Dokument kopieren (CC2019,Win10)

cwenet
Beiträge gesamt: 1139

10. Jun 2019, 12:09
Beitrag # 1 von 5
Bewertung:
(3172 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich versuche gerade aus einem aktiven Dokument alle Textrahmen in ein anderes Dokument zu überführen.
Das klappt soweit ganz gut.
Nur landen alle Textrahmen auf der ersten Seite im Zieldokument.
Wahrscheinlich fehlt mir nur eine Winzigkeit.
Code
var fromDoc = app.activeDocument; 

var toDoc = app.open (File ('~/Desktop/ziel.indd'));

for (var i = 0; i < fromDoc.pages.length; i++) {

for (var j = 0; j < fromDoc.pages[i].textFrames.length; j++) {

var fromTextFrame = fromDoc.pages[i].textFrames[j];

fromTextFrame.duplicate(toDoc.pages.item(0));
toDoc.pages.add();
}

}


Mit der Bitte um Hilfe.

Grüße Christoph
X

Textframe in anderes Dokument kopieren (CC2019,Win10)

Martin Fischer
  
Beiträge gesamt: 12779

10. Jun 2019, 13:32
Beitrag # 2 von 5
Beitrag ID: #570654
Bewertung:
(3158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

nimm Dir mal die folgende Zeile in Deinem Skript unter die Lupe:

Code
fromTextFrame.duplicate(toDoc.pages.item(0)); 


Fällt Dir beim to-Parameter etwas auf?


Achte darauf, was passiert, wenn auf einer Seite mehr als ein Textrahmen platziert ist.

Möchtest Du auch in diesem Fall nach jedem einzeln duplizierten Textrahmen eine neue Seite einfügen?


als Antwort auf: [#570653]
(Dieser Beitrag wurde von Martin Fischer am 10. Jun 2019, 13:33 geändert)

Textframe in anderes Dokument kopieren (CC2019,Win10)

Hans Haesler
  
Beiträge gesamt: 5826

10. Jun 2019, 14:00
Beitrag # 3 von 5
Beitrag ID: #570655
Bewertung:
(3147 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

ach ... Martin war schneller. Ich gebe dennoch meine Lösung durch ...

*****
Viel fehlt nicht. :-)

Damit jedes Mal die neue Zielseite adressiert wird, musst Du sie mit [-1] ansprechen. Das bedeutet: die letzte Seite des Zieldokuments.
Diese neue Seite muss aber später – am Ende der äusseren Schleife – eingefügt werden.
Der Test 'if (p<nPages-1)' verhindert das Einfügen eine nichtbenötigen Seite am Ende des Zieldokuments.

Code
var fromDoc = app.activeDocument; 

var toDoc = app.open (File ("~/Desktop/ziel.indd"));

var allPages = fromDoc.pages;
var nPages = allPages.length;

for (var p=0; p<nPages; p++) {
var allFrames = allPages[p].textFrames;
var nFrames = allFrames.length;
for (var n=0; n<nFrames; n++) {
allFrames[n].duplicate(toDoc.pages[-1]);
}
if (p<nPages-1) {
toDoc.pages.add();
}
}

Die Seiten und die Textrahmen werden nur *ein* Mal gezählt.

Gruss, Hans


als Antwort auf: [#570653]

Textframe in anderes Dokument kopieren (CC2019,Win10)

cwenet
Beiträge gesamt: 1139

10. Jun 2019, 14:00
Beitrag # 4 von 5
Beitrag ID: #570656
Bewertung:
(3147 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank fürs Antworten.
In meinem Fall habe ich in der Quelle nur einen Rahmen pro Seite.

Ich habs glaube ich hinbekommen.
fromTextFrame.duplicate(toDoc.pages[-1]);

Gruß
Christoph


als Antwort auf: [#570654]
(Dieser Beitrag wurde von cwenet am 10. Jun 2019, 14:05 geändert)

Textframe in anderes Dokument kopieren (CC2019,Win10)

cwenet
Beiträge gesamt: 1139

10. Jun 2019, 14:04
Beitrag # 5 von 5
Beitrag ID: #570657
Bewertung:
(3145 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Hans,

das ist natürlich noch besser als meins.
Dann werden auch andere Rahmen übernommen.
Dankeschön.

Grüße
Christoph


als Antwort auf: [#570655]
X