[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Absätze manuell nummerieren (CS6, WIN)

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

Absätze manuell nummerieren (CS6, WIN)

cwenet
Beiträge gesamt: 966

22. Nov 2014, 16:13
Beitrag # 1 von 6
Bewertung:
(2514 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich möchte bei jedem ausgewählten Absatz eine fortlaufende manuelle Ziffer voranstellen.

Folgendes Script nummeriert aber nur den ersten Absatz.

Code
var mySel = app.selection[0]; 

app.findTextPreferences = app.changeTextPreferences = null;
app.findTextPreferences.appliedParagraphStyle = "Nummer";
var myResult = mySel.findText();

for (var oneResult=myResult.length-1; oneResult >= 0; oneResult--) {
myResult[oneResult].insertionPoints[0].contents = String(oneResult+1)+'\t';
}



myResult.length zeigt mir hier auch nur den Wert 1.

Kleines Testdokument anbei (oberer Textrahmen = vorher, unterer Textrahmen = so soll es aussehen)

Bitte um Hilfe

Christoph

Anhang:
nummer.idml (28.2 KB)
X

Absätze manuell nummerieren (CS6, WIN)

Martin Fischer
  
Beiträge gesamt: 12391

23. Nov 2014, 09:38
Beitrag # 2 von 6
Beitrag ID: #534298
Bewertung:
(2441 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

wenn Du nach einem Absatzformat suchst, dann erstreckt sich ein Treffer unter Umständen über mehrere aufeinanderfolgende Absätze mit demselben Format.

Spontan sehe ich drei Lösungsmöglichkeiten:
1. Du baust eine zweite Schleife durch die Absätze der gefundenen "Bereiche" ein und sprichst darin die einzelnen Absätze an.
2. Du ersetzt Deine TEXT-Suche durch eine GREP-Suche und ergänzt die Suche nach '[^\r]+'.
3. Du verzichtest auf die Suche und prüfst statt dessen in einer Schleife die Absatzformate aller Absätze im ausgewählten Bereich und reagierst dann mit der Zuweisung der Nummer, wenn das Absatzformat dem von Dir gewünschten entspricht.

Viele Grüße
Martin




als Antwort auf: [#534291]

Absätze manuell nummerieren (CS6, WIN)

Dirk Becker
Beiträge gesamt: 174

23. Nov 2014, 19:01
Beitrag # 3 von 6
Beitrag ID: #534302
Bewertung:
(2268 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das geht auch ganz ohne Scripting:

Absatzformate können auch selber nummerieren. Das ist ein ziemlich mächtiges Feature, im Format-Editor konfigurierbar in der Seite "Aufzählungszeichen und Nummerierung".
Die Nummern kann man später statisch in den Text schreiben lassen, etwa durch eine Menüaktion am Absatzformat-Panel "Nummerierung in Text konvertieren".


als Antwort auf: [#534298]

Absätze manuell nummerieren (CS6, WIN)

cwenet
Beiträge gesamt: 966

24. Nov 2014, 06:55
Beitrag # 4 von 6
Beitrag ID: #534304
Bewertung:
(2192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank an Martin und Dirk,

da ich nur ausgewählte Absätze behandeln möchte, würde mir eine Scriptlösung besser gefallen:

Code
var doc = app.activeDocument; 

var mySel = doc.selection[0];


// Alle Absätze in aktueller Auswahl
var paras = mySel.paragraphs.everyItem().getElements();


for (var j=0,l=paras.length; j<l; j++) {
var para = paras[j];
if (para.appliedParagraphStyle.name == 'Nummer') {
para.insertionPoints[0].contents = String(j+1)+'\t'
}
}


Ich benötige leider nochmals Hilfe.
Das obige Script platziert die Nummern irgendwie willkürlich in die Absätze. Lediglich der erste wird richtig gemacht.

Gruß
Christoph


als Antwort auf: [#534302]

Absätze manuell nummerieren (CS6, WIN)

Dirk Becker
Beiträge gesamt: 174

24. Nov 2014, 08:53
Beitrag # 5 von 6
Beitrag ID: #534306
Bewertung:
(2168 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jede Art von Text, also auch die Objekte im "paras" Array, merkt sich seine Position als Offset. Wenn man Inhalt einfügt, verschiebt sich der Text unter dem Offset. Daher sollte man bei Änderungen von hinten arbeiten - den Schleifenzähler umdrehen.

Für die find…() Funktionen gibt es sogar ein Argument, das die Reihenfolge umdreht.


als Antwort auf: [#534304]

Absätze manuell nummerieren (CS6, WIN)

cwenet
Beiträge gesamt: 966

24. Nov 2014, 12:16
Beitrag # 6 von 6
Beitrag ID: #534312
Bewertung:
(1966 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Merci viel mal,

da falle ich jedesmal darauf rein.

So tut es:

Code
var doc = app.activeDocument;  

var mySel = doc.selection[0];

// Alle Absätze in aktueller Auswahl
var paras = mySel.paragraphs.everyItem().getElements();

for ( j = paras.length-1; j>= 0; j-- ) {

var para = paras[j];
if (para.appliedParagraphStyle.name == 'Nummer') {
para.insertionPoints[0].contents = String(j+1)+'\t'
}
}


Schönen Tag
Christoph


als Antwort auf: [#534306]
X

Aktuell

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
21.01.2021 - 22.01.2021

Digicomp Academy AG, Bern oder Basel
Donnerstag, 21. Jan. 2021, 08.30 Uhr - Freitag, 22. Jan. 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.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

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

digicomp.ch/d/INDEM1

Veranstaltungen
21.01.2021

Illustrator - das unbekannte Wesen

Online
Donnerstag, 21. Jan. 2021, 19.00 Uhr

Vortrag

Millionen Funktionen, und immer kommen neue dazu! Monika Gause ist jeden Januar aufs Neue ein gern gesehener Gast bei der IDUG Stuttgart. - Sie bringt alle Neuerungen mit, die 2020 dazukamen und jede Menge Tipps und Tricks. - Zudem wird sie uns informieren, was wir in Illustrator beachten müssen, wenn wir Daten fürs Web erstellen bzw. aufbereiten. - Wichtig zu wissen: "Dos and Don'ts" in Illustrator. Welche Fehler sollte man dringend vermeiden und was muss man unbedingt tun, damit es Spaß macht mit Illustrator zu arbeiten. - Dieses Jahr hast Du zusätzlich die Möglichkeit Monika im Voraus Fragen zu stellen. Fülle dieses Formular mit deinen Fragen; auch Beispieldateien sind anfügbar: https://forms.gle/fJmF8C6MjbDoEhED8

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs67.eventbrite.de/

IDUGS #67 Illustrator mit Monika Gause

Neuste Foreneinträge


Umstieg auf Linux ...

Scannen mit Affinity Photo (V 1.8.3.641) in Win 10

Sommerurlaub ist nicht weit?

Anwendungsrahmen ausschalten auf Windows-PC?

[GREP] beliebige Zeichen finden und durch selbe Anzahl an Leerzeichen oder Anzahl Zeichen "x" ersetzen

ICC Profil für Papier Munken Print crema FSC 90 g/m² mit 1,5 Vol.

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

weitere peinliche Fragen zu Selbstverständlichkeiten

Hilfe

Bilder High> Low
medienjobs