[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:
(30706 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: 12590

30. Okt 2018, 17:59
Beitrag # 2 von 11
Beitrag ID: #567257
Bewertung:
(30695 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:
(30668 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: 12590

30. Okt 2018, 21:09
Beitrag # 4 von 11
Beitrag ID: #567263
Bewertung:
(30665 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: 12590

31. Okt 2018, 07:31
Beitrag # 5 von 11
Beitrag ID: #567265
Bewertung:
(30619 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:
(30598 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: 12590

31. Okt 2018, 11:03
Beitrag # 7 von 11
Beitrag ID: #567269
Bewertung:
(30591 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:
(28818 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: 251

7. Jan 2021, 11:05
Beitrag # 9 von 11
Beitrag ID: #578154
Bewertung:
(25747 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: 2683

7. Jan 2021, 11:55
Beitrag # 10 von 11
Beitrag ID: #578159
Bewertung:
(25727 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 Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#567255]

Skript Formate in Formatgruppen umbenennen

MichaelP
Beiträge gesamt: 251

7. Jan 2021, 16:07
Beitrag # 11 von 11
Beitrag ID: #578168
Bewertung: |||
(25689 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

Aktuell

Diverses
flightcheck

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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/