[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: 24

30. Okt 2018, 17:39
Beitrag # 1 von 19
Bewertung:
(45416 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: 12778

30. Okt 2018, 17:59
Beitrag # 2 von 19
Beitrag ID: #567257
Bewertung:
(45405 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?


als Antwort auf: [#567255]

Skript Formate in Formatgruppen umbenennen

andreas131
Beiträge gesamt: 24

30. Okt 2018, 21:04
Beitrag # 3 von 19
Beitrag ID: #567262
Bewertung:
(45378 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: 12778

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


als Antwort auf: [#567262]

Skript Formate in Formatgruppen umbenennen

Martin Fischer
  
Beiträge gesamt: 12778

31. Okt 2018, 07:31
Beitrag # 5 von 19
Beitrag ID: #567265
Bewertung:
(45329 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).


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: 24

31. Okt 2018, 10:45
Beitrag # 6 von 19
Beitrag ID: #567268
Bewertung:
(45308 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: 12778

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


als Antwort auf: [#567268]

Skript Formate in Formatgruppen umbenennen

bmn_133
Beiträge gesamt: 1

6. Jun 2020, 11:11
Beitrag # 8 von 19
Beitrag ID: #575606
Bewertung:
(43528 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: 268

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


als Antwort auf: [#575606]

Skript Formate in Formatgruppen umbenennen

WernerPerplies
Beiträge gesamt: 2759

7. Jan 2021, 11:55
Beitrag # 10 von 19
Beitrag ID: #578159
Bewertung:
(40437 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


als Antwort auf: [#567255]

Skript Formate in Formatgruppen umbenennen

MichaelP
Beiträge gesamt: 268

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


als Antwort auf: [#578154]

Skript Formate in Formatgruppen umbenennen

typecookie
Beiträge gesamt: 61

1. Okt 2022, 18:52
Beitrag # 12 von 19
Beitrag ID: #584523
Bewertung:
(14350 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

vor einiger Zeit bin über dieses Thema gestolpert und verwende seither das Script für alle Formatkategorien in angepasster Form immer wieder gerne. Es spart eine Menge Zeit und Nerven bei wiederkehrender Aufbereitung von Dateien mit sehr vielen Formaten, die in ein vorgegebenes Schema überführt werden müssen.

Leider gibt es in den Dateien auch sehr viele Formatgruppen, was mich nun zu der Frage bringt, ob analog zu der Formatumbenennung auch eine Scriptvariante möglich wäre, oder es sie vielleicht schon gibt, mit welcher die ebenfalls vorhandenen Formatgruppen in jeder Formatkategorie (Absatz-, Zeichen, Objekt, Zellen- und Tabellenformat) jeweils in einem Rutsch umbenannt werden können.


als Antwort auf: [#578168]
(Dieser Beitrag wurde von typecookie am 1. Okt 2022, 18:53 geändert)

Skript Formate in Formatgruppen umbenennen

typecookie
Beiträge gesamt: 61

3. Okt 2022, 12:56
Beitrag # 13 von 19
Beitrag ID: #584527
Bewertung:
(14256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Upps, gerade fällt mir auf, dass mein Text nicht vollständig ist. hier kommt der fehlende Absatz:

Diverse Suchen im Netz haben zu keinem Erkenntnisgewinn geführt und beim Scripten hapert's bei mir noch gewaltig. Habt ihr vielleicht eine Lösung oder Tipps und Tricks, wie man so eine Umbenennaktion umsetzen kann?

Vielen Dank im Voraus.


als Antwort auf: [#584523]

Skript Formate in Formatgruppen umbenennen

Ollymac
Beiträge gesamt: 233

3. Okt 2022, 15:20
Beitrag # 14 von 19
Beitrag ID: #584528
Bewertung:
(14229 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo typecookie,

für manche Aufgabenstellungen (v.a. Umbenennung ähnlicher/gleicher Namenselemente von Formaten mit GREP) eignet sich das (kostenpflichtige) Skript von Luis Felipe Corullón https://corullon.com.br/...oduct/rename-styles/. Leider kann es keine Suchstrings oder Settings abspeichern. Schau dir einfach mal das Video auf der Seite an.

Feiertägliche Grüße
Olly


als Antwort auf: [#584527]

Skript Formate in Formatgruppen umbenennen

typecookie
Beiträge gesamt: 61

3. Okt 2022, 17:10
Beitrag # 15 von 19
Beitrag ID: #584529
Bewertung:
(14206 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ollymac,

danke für deine Antwort. Das Script von LFC habe ich schon. Es funktioniert auch prima bei Änderungen, die einem Schema unterliegen, aber leider eben nicht für das Umbenennen von mehreren individuellen Namen in ganz andere individuelle Namen.

An dem weiter oben vorgestellten Script von Martin Fischer finde ich spannend, wie quasi anhand einer Liste Namen durch ganz andere ersetzt werden können. Dasselbe Prinzip für Formatgruppen wäre super.


als Antwort auf: [#584528]
X