[GastForen Programme Print/Bildbearbeitung Adobe InDesign Indesign JavaScript

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

Indesign JavaScript

doin0011
Beiträge gesamt: 1

16. Sep 2005, 14:40
Beitrag # 1 von 5
Bewertung:
(5509 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie sieht der JavaScript source code aus, wenn man in InDesign den Namen von Formatvorlagen automatisch umbenennen will?
X

Indesign JavaScript

Martin Fischer
  
Beiträge gesamt: 12336

16. Sep 2005, 15:14
Beitrag # 2 von 5
Beitrag ID: #187565
Bewertung:
(5480 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi boin,

ich bin zwar überzeugt, Dich nicht richtig verstanden zu haben.
Vielleicht hilft Dir aber dies weiter:
Code
//FormatNamenUmbenennen.js 

var myOldStyle = ["Überschrif1", "Überschrift2"]
var myNewStyle = ["Überschrift 1", "Überschrift 2"]

var myDoc = app.documents[0];
var myStyles = myDoc.paragraphStyles;
if (myOldStyle.length == myNewStyle.length){
for (k=0;k<myOldStyle.length;k++){
changeName(myOldStyle[k], myNewStyle[k]);
}
}
else{
alert(myOldStyle.length + " alte Formate gegen " + myNewStyle.length + " neue Formate.\rBitte angleichen.")
}

function changeName(oldStyle, newStyle){
try{
myStyles.item(oldStyle).name=newStyle;
}
catch(e){
//möglichereise newStyle nicht überschreibbar
alert("Absatzformat \"" + oldStyle + "\" nicht vorhanden oder Absatzformat \"" + newStyle + "\" nicht überschreibbar.")
}
}


oder das
Code
// FormatNamenUmbenennenSprache.js 
// Ersetzt in den Formatnamen den String myAltSprach durch myNeuSprach
// z.B. aus "Normal_DEU" wird "Normal_FRA"
//
var myAltSprach = "DEU"
var myNeuSprach = "FRA"

var myDoc = app.documents[0];
var myStyles = myDoc.paragraphStyles;
for (k=1;k<myStyles.length;k++){
myDoc.paragraphStyles[k].name = convertName(myDoc.paragraphStyles[k].name);
}

function convertName(oneStyle){
var oneStyle = oneStyle.split(myAltSprach);
var oneStyle = oneStyle.join(myNeuSprach);
return oneStyle;
}


Viele Grüße
Martin




als Antwort auf: [#187555]

Indesign JavaScript

Aioli
Beiträge gesamt: 5

3. Jul 2019, 10:47
Beitrag # 3 von 5
Beitrag ID: #570924
Bewertung:
(1195 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

das Script FormatNamenUmbenennenSprache.js ist genau das, was ich brauche, vielen Dank dafür!
Mein Szenario: Etliche Formate eines Titels enthalten am Anfang „FR“ und sollen in „XR“ umbenannt werden, um als Vorlage für ein neues Werk weiterverwendet werden zu können.

DEU/FRA habe ich ersetzt und das Script abgespeichert.
Beim Ausführen des Scripts innerhalb eines Testdokuments mit einem Absatzformat „FR_Grundtext“ erhalte ich jedoch folgende Fehlermeldung:

Zitat JavaScript Fehler!
Fehlernummer 528
Fehlerzeichenfolge: Im Formatnamen dürfen keine Klammern verwendet werden.

Engine: main
...
Zeile: 11
Quelle: myDoc.paragraphStyles[k].name =


Ich nutze Indesign CS 6 am PC und habe auch schon andere Absatzformatnamen probiert. Wird eine Klammer im Code angemeckert oder weißt du, weshalb es hier zum Fehler kommt?

Herzlichen Dank im Voraus und viele Grüße


als Antwort auf: [#187565]

Indesign JavaScript

Martin Fischer
  
Beiträge gesamt: 12336

3. Jul 2019, 11:20
Beitrag # 4 von 5
Beitrag ID: #570928
Bewertung:
(1176 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Aioli,

huch, das Skript ist schon uralt.
Willst Du die Aufgabe unter CS6-Bedingungen nicht lieber mit sprachspezifischen Formatgruppen lösen?

Der Fehler resultiert aus der Tatsache, dass das Skript auch versucht, das Absatzformat "[Einfacher Absatz]" (mit Klammern) umzubenennen. Das kann umgangen werden, indem der Start der Zählervariable von 1 auf 2 erhöht wird:

Code
// FormatNamenUmbenennenSprache.js  
// Ersetzt in den Formatnamen den String myAltSprach durch myNeuSprach
// z.B. aus "Normal_DEU" wird "Normal_FRA"
//
var myAltSprach = "DEU"
var myNeuSprach = "FRA"

var myDoc = app.documents.firstItem();
var myStyles = myDoc.paragraphStyles;
for (var i = 2; i < myStyles.length; i++)
{
try
{
myDoc.paragraphStyles.item(i).name = convertName(myDoc.paragraphStyles.item(i).name);
}
catch(e)
{
alert(myDoc.paragraphStyles.item(i).name + ': ' + e.message);
}
}

function convertName(oneStyle)
{
var str = oneStyle.split(myAltSprach).join(myNeuSprach);
return str;
}


Viele Grüße
Martin




als Antwort auf: [#570924]

Indesign JavaScript

Aioli
Beiträge gesamt: 5

3. Jul 2019, 11:43
Beitrag # 5 von 5
Beitrag ID: #570930
Bewertung:
(1165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

besten Dank für deine schnelle Hilfe und Erklärung!

Du hast völlig recht: Ich sehe, dass ausschließlich Formate außerhalb von Formatgruppen umbenannt werden.
Tatsächlich geht es „nur“ darum, die Werkskürzel in den Formaten umzubenennen. Wenn nun diese Kürzel vom Arbeitstitel auf den finalen Titel geändert werden, muss ich mehrere Dutzend Formate und Formatgruppen umbenennen.
Anschließend wird für ein darauf aufbauendes Werk ein neues Kürzel gebraucht werden (Kundenanforderung).

Beispiel:
Der Arbeitstitel vom Anfang der Satzarbeiten, nennen wir ihn „FR“, muss dann „XR“ heißen und im nächsten Werk „YB“.

Wäre es dir möglich, das Script dahingehend zu erweitern, oder gibt es so etwas schon und ich habe es nicht gefunden?

Und: Kann eine Wiederholung mit
Code
var myStyles = myDoc.characterStyles; 

die Zeichenformate einschließen oder muss dort mehr beachtet werden?

Beste Grüße!


als Antwort auf: [#570928]
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
29.10.2020

Ortsunabhängig
Donnerstag, 29. Okt. 2020, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. 30-minütigen Webinar das neueste Produkt aus dem Hause Enfocus vor. Enfocus bringt mit BoardingPass eine pfiffige Lösung auf den Markt, welche eingehende Daten auf die wichtigsten druckrelevanten Kriterien hin gleich im Mail-Browser prüfen lässt. Mit BoardingPass sind auch Kundenberater und Avor-/Vertriebs-Mitarbeiter in der Lage, eingegangene Druckdaten innerhalb ihres Mail-Programmes sofort zu prüfen und dem Auftraggeber eine leicht verständliche Rückmeldung über diese zu geben. Die Druckdaten müssen also gar nicht erst über den internen Workflow des Druckdienstleisters laufen, sondern können direkt auf druckrelevante Kriterien geprüft und auch begutachtet werden.

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=292

Enfocus BoardingPass
Veranstaltungen
02.11.2020 - 03.11.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Montag, 02. Nov. 2020, 08.30 Uhr - Dienstag, 03. Nov. 2020, 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: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-basic

Neuste Foreneinträge


Wie importiere ich eine Word Datei mit Fussnoten in Indesign?

Indesign CC2021 verliert Speicherpfad von Dateien

bearbeitete jpg´s nicht mehr markiert

Pantone - reiner Buntaufbau

Suitcase von 3 Benutzern an 7 Rechnern?

Probleme mit dem Strukturbaum Acrobat Pro DC (barrierefrei)

PDF_RGB-AUSGABE

Suchescript um auf meinem webserver nach Namen oder nummern zu suchen

InDesign CC 2021: Neuerungen / New Features

Flächendeckung einer Datei
medienjobs