mit diesem Script (habe ich hier gefunden) möchte ich meine Mariginalflächen als Text wieder in den Fliesstext zurückführen. Wie schaffe ich es, das ich noch ein Absatzformat zuweisen kann? Meine eingefügte Scriptzeile will nicht funktionieren. Ausserdem soll der gefundene Marginaltext vor den aktuellen Absatz platziert werden.
Du verschiebst erst den Text aus dem verankerten Textrahmen myItems[oneItem].texts[0].move(LocationOptions.before, myItems[oneItem].parent.insertionPoints[0]);,
dann versuchst Du, dem ersten Absatz in dem verankerten Textrahmen ein Absatzformat zuzuweisen myItems[oneItem].paragraphs[0].appliedParagraphStyle = "Marginalie";
und schließlich löscht Du den verankerten Textrahmen myItems[oneItem].remove();.
Du solltest das Absatzformat vor dem Verschieben des Texts aus dem verankerten Textrahmen zuweisen. Und zwar dem gesamten Text im Textabschnitt des verankerten Textrahmens: myItems[oneItem].parentStory.texts[0].appliedParagraphStyle = "Marginalie";
Die Tags würde ich vor der Formatzuweisung oder danach (auf jeden Fall aber vor dem Verschieben) dem Text des verankerten Rahmens hinzufügen.
Die Position für den Start-Tag wäre myItems[oneItem].insertionPoints[0]. Die des End-Tags myItems[oneItem].parentStory.texts[0].insertionPoints[-1]. Bestimme jeweils deren contents.
---- Ach ja, das Ziel für das Verschieben wäre nicht die Position am Anker des verankerten Textrahmens, sondern am ersten Einfügepunkt des ersten Absatzes des Ankerpunkts.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 16. Apr 2010, 07:43 geändert)
Klappt sehr gut. Ich habe die Schleife umgedreht, damit die Reihenfolge der neu platzierten Marginal-Absätze stimmt. Bin mir nicht sicher, ob das so in Ordnung geht. Kann ich in diesem Fall ohne Bedenken in beide Richtungen das Dokument durchgehen? Da bin ich mir auch nie sicher, wann vorwärts und wann rückwärts abgearbeitet werden soll.
Wie kann ich das Script noch anpassen, dass nich der gesamte Text markiert werden muss?
das sieht gut aus. Bis auf die Richtungsumkehrung der Schleife. Funktioniert diese so?
Bei jedem Durchgang der Schleife wird ein Element der Sammlung, durch die Du schleifst, weggenommen. Und zwar von vorne her. Damit veränderst Du die Indexierung der weiteren Elemente. In so einem Fall würde ich sicherheitshalber die Elemente von hinten her abarbeiten. Das hat keine Nachteile, verhindert aber ggf. Probleme, die durch die Veränderung der Indexe der Elemente der Sammlung entstehen könnten.
> Da bin ich mir auch nie sicher, wann vorwärts und wann rückwärts abgearbeitet werden soll.
Grundsätzlich ist rückwärts in den meisten Fällen sicherer. Weitere Schritte innerhalb des Skripts können es aber auch gelegentlich erforderlich machen, dass von vorne nach hinten gearbeitet wird. Und das Voranschreiten entspricht eher dem manuellen Vorgehen eines Anwenders.
> Wie kann ich das Script noch anpassen, dass nich der gesamte Text markiert werden muss?
Du hat oben sehr guten Gebrauch von parentStory gemacht. Das hilft Dir auch hier weiter.
Verschiebe nicht nur den Inhalt des Textrahmens (myItems[oneItem].texts[0]), sondern den Textabschnitt im Textrahmen mit möglichem Überlauf: myItems[oneItem].parentStory.texts[0]