[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt move-Befehl funktioniert nicht in Tabellen hinein

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

move-Befehl funktioniert nicht in Tabellen hinein

Steve Howe
Beiträge gesamt: 73

16. Jul 2015, 14:50
Beitrag # 1 von 1
Bewertung:
(654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich habe ein Script geschrieben, welches die Indexmarken aus der Palette mit entsprechenden XML-Tags versieht und dann an die Stelle schiebt, an der die Indexmarke im Textfluss steht. Funktionierte bisher wunderbar. Nur ist mir nun aufgefallen, dass das XML-Konstrukt nicht verschoben wird, wenn die Marke in einer Tabelle steht. Woran liegt das?
Oder anderer Lösungsansatz: Kann ich das Element indexentry gleich an der Stelle erzeugen, wo die Indexmarke steht?
anbei das Script und ein Testdokument (Cs6)
http://we.tl/3e6yYKtGIV
Code
//DESCRIPTION:Fügt alle Stichwörter von der Indexpalette in den Text an der jeweilige Stelle ein und taggt sie als indexentry 
if (app.documents.length == 0) {
alert("kein Dokument geöffnet");
} else {
var meinDokument = app.activeDocument;
var rootElement = meinDokument.xmlElements[0];
var ebene = 0;
var StichwortAnzahl = 0;

if(meinDokument.indexes.item(0).topics.length) {
ersetzeIndexMarken(meinDokument.indexes.item(0).topics); //Indexmarken druchrödeln
alert(StichwortAnzahl+" Indexmarken getaggt");
} else {
alert("keine Indexmarken gefunden");
}
}

function ersetzeIndexMarken(alleThemen) {
for (var i = 0; i < alleThemen.length; i++) { //über alle Topics laufen
var meinThema = alleThemen[i];
for (var j = 0; j<meinThema.pageReferences.length; j++) {
if (ebene == 1) {
var eintrag = rootElement.xmlElements.add("indexentry");
eintrag.xmlAttributes.add("index",meinThema.parent.name);
var eintrag1 = eintrag.xmlElements.add( "entry1");
eintrag1.contents = meinThema.name;
}
if (ebene == 2) {
var eintrag = rootElement.xmlElements.add("indexentry");
eintrag.xmlAttributes.add("index",meinThema.parent.parent.name);
var eintrag1 = eintrag.xmlElements.add( "entry1");
eintrag1.contents = meinThema.parent.name;
var eintrag2 = eintrag.xmlElements.add( "entry2");
eintrag2.contents = meinThema.name;
}
if (ebene == 3) {
var eintrag = rootElement.xmlElements.add("indexentry");
eintrag.xmlAttributes.add("index",meinThema.parent.parent.parent.name);
var eintrag1 = eintrag.xmlElements.add( "entry1");
eintrag1.contents = meinThema.parent.parent.name;
var eintrag2 = eintrag.xmlElements.add( "entry2");
eintrag2.contents = meinThema.parent.name;
var eintrag3 = eintrag.xmlElements.add( "entry3");
eintrag3.contents = meinThema.name;
}
if (ebene >3) {alert("Stichwort mit Ebene 4 darf nicht vorkommen");}
else {
StichwortAnzahl++;
eintragVerschoben=eintrag.move(LocationOptions.BEFORE, meinThema.pageReferences[j].sourceText.insertionPoints[0]); //Tag vom Storyende zur Indexmarke schieben
eintragVerschoben.texts.everyItem().clearOverrides(OverrideType.CHARACTER_ONLY); //Abweichung auf Indexmarke löschen
eintragVerschoben.texts.everyItem().fillColor=meinDokument.swatches.itemByName("Anmerkungen");
}
}
if(meinThema.topics.length>0) { //wenn Unterstichworte vorhanden sind
ebene++;
ersetzeIndexMarken(meinThema.topics);
ebene--;
}
}
}


______________
Bitte mehr Bit!
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
05.08.2021 - 06.08.2021

Digicomp Academy, Zürich
Donnerstag, 05. Aug. 2021, 08.30 Uhr - Freitag, 06. Aug. 2021, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Preis: 1'400.– zzgl. 7.7% MWST
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch