[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Skript Formate in Formatgruppen umbenennen

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

Skript Formate in Formatgruppen umbenennen

andreas131
Beiträge gesamt: 22

30. Okt 2018, 17:39
Beitrag # 1 von 11
Bewertung:
(20800 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich nutze gelegentlich ein Skript hier aus dem Forum von Martin Fischer, das mir eine große Hilfe bei der Umbenennung von Formaten ist (Absatz- und Zeichenformate).
Allerdings werden Formate in Formatgruppen nicht geändert. Ich habe nun einiges ausprobiert, habe aber leider keine Lösung gefunden das Skript entsprechend anzupassen.

Eventuell gibt es hier schon was, das ich bei meiner Suche übersehen habe? Oder ihr habt mir einen Tipp, wie ich das Skript anpassen kann.

Vielen Dank für eure Hilfe.

Viele Grüße
Andreas

Und hier das Skript von Martin Fischer

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.")
}
}

X

Skript Formate in Formatgruppen umbenennen

Martin Fischer
  
Beiträge gesamt: 12445

30. Okt 2018, 17:59
Beitrag # 2 von 11
Beitrag ID: #567257
Bewertung:
(20789 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

das Skript stammt aus einer Zeit in der es noch keine Formatgruppen gab.


Quick & dirty könntest Du mal Folgendes versuchen:

Ersetze die Zeile
Code
var myStyles = myDoc.paragraphStyles; 


durch die Zeile
Code
var myStyles = myDoc.allParagraphStyles; 


Macht das Skript damit das, was Du erwartest?

Viele Grüße
Martin




als Antwort auf: [#567255]

Skript Formate in Formatgruppen umbenennen

andreas131
Beiträge gesamt: 22

30. Okt 2018, 21:04
Beitrag # 3 von 11
Beitrag ID: #567262
Bewertung:
(20762 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank für deine schnelle Antwort. Deinen Vorschlag hatte ich ausprobiert und jetzt nochmals überprüft. Leider wird dann bei allen Formaten (gleich ob in einer Formatgruppe oder nicht) nun die Fehlermeldung ausgegeben:

"Absatzformat [XXX] nicht vorhanden oder Absatzformat [YYY] nicht überschreibbar."

Schade, das wäre schön gewesen. :-)

Danke und viele Grüße
Andreas


als Antwort auf: [#567257]

Skript Formate in Formatgruppen umbenennen

Martin Fischer
  
Beiträge gesamt: 12445

30. Okt 2018, 21:09
Beitrag # 4 von 11
Beitrag ID: #567263
Bewertung:
(20759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, bei genauerem Hinsehen kann das nicht gehen. Bitte um etwas Geduld.

Viele Grüße
Martin




als Antwort auf: [#567262]

Skript Formate in Formatgruppen umbenennen

Martin Fischer
  
Beiträge gesamt: 12445

31. Okt 2018, 07:31
Beitrag # 5 von 11
Beitrag ID: #567265
Bewertung:
(20713 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

das Skript habe ich etwas umgebaut.

Code
//FormatNamenUmbenennen.jsx 

if (app.documents.length == 0) exit();

var doc = app.activeDocument;
var no_change = [];
var new_name = [];
// ==================================
new_name['Absatzformat 1'] = 'A1';
new_name['Absatzformat 2'] = 'A2';
new_name['Absatzformat 3'] = 'A3';
new_name['Absatzformat 4'] = 'A4';
new_name['Absatzformat 5'] = 'A5';
// ==================================

for (var i = 2; i < doc.allParagraphStyles.length; i++)
{
if (new_name[doc.allParagraphStyles[i].name] != undefined)
{
if (!doc.allParagraphStyles[i].parent.paragraphStyles.itemByName(new_name[doc.allParagraphStyles[i].name]).isValid)
doc.allParagraphStyles[i].name = new_name[doc.allParagraphStyles[i].name];
else
no_change.push( get_extpsname(doc.allParagraphStyles[i]) );
}
}

if (no_change.length > 0)
alert('Folgende Absatzformate konnten nicht umbenannt werden:\n' + no_change.join('\n') );


function get_extpsname(ps)
{
var str = ps.name;
var g = ps;
while (g.parent.constructor.name == 'ParagraphStyleGroup')
{
g = g.parent;
str = g.name + ':' + str;
}
return str;
}


Die Zuordnungen "alter Name" – "neuer Name" definierst Du im Block zwischen den Trennlinien:
Code
new_name['Absatzformat 1'] = 'A1'; 

In der eckigen Klammer steht der alte Name in einfachen Anführungszeichen.
Hinter dem Gleichheits-/Zuweisungszeichen = steht der neue Name.
Sprich: "new name von 'Absatzformat 1' ist 'A1'.

Änderungen, die wg. Vorhandenseins eines Absatzformats mit dem Zielnamen in der entsprechenden Formatgruppenebene nicht vorgenommen werden können, erscheinen am Ende in einer Zusammenfassung (Dialog).

Viele Grüße
Martin




als Antwort auf: [#567262]
(Dieser Beitrag wurde von Martin Fischer am 31. Okt 2018, 11:00 geändert)

Skript Formate in Formatgruppen umbenennen

andreas131
Beiträge gesamt: 22

31. Okt 2018, 10:45
Beitrag # 6 von 11
Beitrag ID: #567268
Bewertung:
(20692 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

einfach großartig dein Skript. 1000 Dank dir.

Macht genau das was ich benötige. In einer Zeile hat sich ein Leerzeichen eingeschlichen:

Code
   while (g.parent.constructor .name == 'ParagraphStyleGroup') 



Code
   while (g.parent.constructor.name == 'ParagraphStyleGroup') 


Danke dir auch für die Hinweise zum Skript.

Ich wünsche dir eine schöne Restwoche.

Viele Grüße
Andreas


als Antwort auf: [#567265]

Skript Formate in Formatgruppen umbenennen

Martin Fischer
  
Beiträge gesamt: 12445

31. Okt 2018, 11:03
Beitrag # 7 von 11
Beitrag ID: #567269
Bewertung:
(20685 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

Antwort auf: In einer Zeile hat sich ein Leerzeichen eingeschlichen:


Danke für den Hinweis.
Hab's oben korrigiert.

Viele Grüße
Martin




als Antwort auf: [#567268]

Skript Formate in Formatgruppen umbenennen

bmn_133
Beiträge gesamt: 1

6. Jun 2020, 11:11
Beitrag # 8 von 11
Beitrag ID: #575606
Bewertung:
(18912 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, ich weiß das Thema ist schon etwas älter, doch habe ich eine deutsche Seite gefunden die ein Script anbietet, welches genau das kann. Also Formate und auch Formatgruppen-namen umbenennen. GREP ist hier auch noch möglich. Lohnt sich also das mal anzusehen. Sucht einfach mal nach http://www.steiniscript.de.


als Antwort auf: [#567269]

Skript Formate in Formatgruppen umbenennen

MichaelP
Beiträge gesamt: 242

7. Jan 2021, 11:05
Beitrag # 9 von 11
Beitrag ID: #578154
Bewertung:
(15841 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

was müsste man ändern, damit das Skript auch bei Zeichformaten (und evtl. weiteren Formaten) funktioniert? Reicht es, überall "Paragraph" durch "Character" zu ersetzen?
.
Grüße von Michael

_______________

Schönheit ist das Weglassen von Überflüssigem. (Michelangelo)


als Antwort auf: [#575606]

Skript Formate in Formatgruppen umbenennen

WernerPerplies
Beiträge gesamt: 2590

7. Jan 2021, 11:55
Beitrag # 10 von 11
Beitrag ID: #578159
Bewertung:
(15821 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Andreas,

schau Dir mal dieses Skript an, dass alle Formattypen in Formatgruppen behandelt.

Vielleicht kann Dir das helfen
.
https://weepee.de/...hp/s/iY9dDg7TqKmK8bK

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 16.12.2020, Version 3.XX, neue Funktionen
Kundenstimmen


als Antwort auf: [#567255]

Skript Formate in Formatgruppen umbenennen

MichaelP
Beiträge gesamt: 242

7. Jan 2021, 16:07
Beitrag # 11 von 11
Beitrag ID: #578168
Bewertung: |||
(15783 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Reicht es, überall "Paragraph" durch "Character" zu ersetzen?


Es funktioniert. Ich hätte es ja auch gleich ausprobieren können ...
.
Grüße von Michael

_______________

Schönheit ist das Weglassen von Überflüssigem. (Michelangelo)


als Antwort auf: [#578154]
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.03.2021 - 30.04.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 05. März 2021, 13.00 Uhr - Freitag, 30. Apr. 2021, 17.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen.

Preis: CHF 3'250.–
Dauer: 8.5 Tage - 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/9PWEB