• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Scripterstellung zur Sortierung Text - Kurse nach Kursnummer sortieren

New Here ,
Jun 25, 2024 Jun 25, 2024

Copy link to clipboard

Copied

Hallo zusammen,
ich benötige Hilfe bei der Erstellung eines Scriptes welches das Kursprogramm zweier Halbjahre sortiert nach Kursnummer (dies ist auch durch ein Absatzformat definiert) untereinander setzt. Schwierigkeit dabei ist, dass die Kursnummer des ersten Halbjahres  mit 242_XXXXX und die des zweiten Halbjahres mit 251_XXXXX beginnt.  Hier einmal ein Textbeispiel:

Motorsägenlehrgang für Privatpersonen - KWF Modul A

Im Seminar wird das sichere Fällen von Bäumen trainiert und das Schneiden und Aufarbeiten des Holzes nach der Fällung geübt. Weitere Themen sind u.a. die Betankung und kleinere Reparaturen der Motorsäge, deren Wartung, das Schärfen der Kette sowie Informationen über Unfallverhütungsvorschriften und geeignete Schutz- und Arbeitsmittel. Die Teilnahme befähigt nicht zum beruflichen Führen einer Motorsäge. Mindestalter 18 Jahre.

242_14980 • KLEINGRUPPE • (Seminar)Seminarleiter

Fr, 25.10.24: 18.00 - 22:00 Uhr + Sa, 26.10.24: 8.00-16.00 Uhr, 2 Termine, 15,3 Ustd, max 6 Teilnehmende, keine Ermäßigung

Bitte mitbringen: Private Motorsäge

und hier noch ein Kurs aus dem zweiten Halbjahr:

Motorsägenlehrgang für Privatpersonen - KWF Modul A

Im Seminar wird das sichere Fällen von Bäumen trainiert und das Schneiden und Aufarbeiten des Holzes nach der Fällung geübt. Weitere Themen sind u.a. die Betankung und kleinere Reparaturen der Motorsäge, deren Wartung, das Schärfen der Kette sowie Informationen über Unfallverhütungsvorschriften und geeignete Schutz- und Arbeitsmittel. Achtung: Die Teilnahme befähigt nicht zum beruflichen Führen einer Motorsäge. Mindestalter 18 Jahre.

251_14980 • KLEINGRUPPE • (Seminar) Kursleiter

Fr, 28.02.25: 18.00 - 22:00 Uhr + Sa, 01.03.25: 8.00-16.00 Uhr, 2 Termine, 12 Ustd, max 6 Teilnehmende, keine Ermäßigung

 

Die Kurse sollten dann optimalerweise sortiert untereinander stehen.

Ich hatte schon mit einem Script angefangen, aber das funktioniert hinten und vorne nicht:

// SortParagraphsByCourseNumber.jsx
#target indesign

function sortParagraphsByCourseNumber() {
var doc = app.activeDocument;
var paragraphs = doc.stories.everyItem().paragraphs.everyItem().getElements();
var kursParagraphs = [];

// Filter paragraphs with paragraph style "Kursnummer"
for (var i = 0; i < paragraphs.length; i++) {
if (paragraphs[i].appliedParagraphStyle.name === "Kursnummer") {
kursParagraphs.push(paragraphs[i]);
}
}

// Sort kursParagraphs by the course number (after the first four characters)
kursParagraphs.sort(function(a, b) {
var aText = a.contents;
var bText = b.contents;
 
// Debug output to check the contents of aText and bText
$.writeln("aText: " + aText);
$.writeln("bText: " + bText);
 
// Ensure the text slice and trim methods are used correctly
var aCourseNumber = aText.slice(4).trim();
var bCourseNumber = bText.slice(4).trim();

return aCourseNumber.localeCompare(bCourseNumber);
});

// Reposition sorted paragraphs in the story
for (var j = 0; j < kursParagraphs.length; j++) {
var para = kursParagraphs[j];
var story = para.parentStory;

// Move the paragraph to the new position
para.move(LocationOptions.AT_BEGINNING, story.insertionPoints[j]);
}
}

// Run the function
sortParagraphsByCourseNumber();
 
Benötige hier mal eure Schwarmintelligenz. DANKE
TOPICS
Scripting

Views

162

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Jun 26, 2024 Jun 26, 2024

Then your code will move - at the beginning of the Story - only those paragraphs - not whole blocks.

 

First, you need to get start + end of each block - then locate your "key" - then sort those "keys" - then move whole blocks - "parents" of each "key".

 

Votes

Translate

Translate
Community Expert ,
Jun 25, 2024 Jun 25, 2024

Copy link to clipboard

Copied

Can you post a screenshot from InDesign - with hidden characters visible. 

 

And the paragraph with the number is in the middle of the block to be moved, right?

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 25, 2024 Jun 25, 2024

Copy link to clipboard

Copied

yes the number is located after the description of the courseBildschirmfoto 2024-06-26 um 08.39.46.png

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 26, 2024 Jun 26, 2024

Copy link to clipboard

Copied

Then your code will move - at the beginning of the Story - only those paragraphs - not whole blocks.

 

First, you need to get start + end of each block - then locate your "key" - then sort those "keys" - then move whole blocks - "parents" of each "key".

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 26, 2024 Jun 26, 2024

Copy link to clipboard

Copied

LATEST

Thank you for your feedback.
Can you tell me how to do this? As each course is different, there is no constant that I can search for.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines