[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 8
Bewertung:
(2284 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: 12289

30. Okt 2018, 17:59
Beitrag # 2 von 8
Beitrag ID: #567257
Bewertung:
(2273 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 8
Beitrag ID: #567262
Bewertung:
(2246 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: 12289

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

31. Okt 2018, 07:31
Beitrag # 5 von 8
Beitrag ID: #567265
Bewertung:
(2197 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 8
Beitrag ID: #567268
Bewertung:
(2176 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: 12289

31. Okt 2018, 11:03
Beitrag # 7 von 8
Beitrag ID: #567269
Bewertung:
(2169 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 8
Beitrag ID: #575606
Bewertung:
(396 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]
X

Aktuell

PDF / Print
impressed_logo_300

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
06.07.2020

Digicomp Academy AG, Basel, Bern, Zürich oder virtuell
Montag, 06. Juli 2020, 08.30 - 17.00 Uhr

Kurs

In diesem Kurs lernen Sie alle wichtigen Funktionen von Affinity Designer, die Ihren Workflow optimieren und Ihre Ideen zum Fliegen bringen. Nach dem Kurs können Sie Ihre Projekte mit viel Kreativität und Freude abwickeln.

Preis: CHF 500.-
Dauer: 1 Tag

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/affinity-produkte/kurs-affinity-designer-basic

Veranstaltungen
06.07.2020 - 07.07.2020

Digicomp Academy AG, Zürich oder virtuell
Montag, 06. Juli 2020, 08.30 Uhr - Dienstag, 07. Juli 2020, 17.00 Uhr

Kurs

Adobe Experience Design, kurz XD ist das neue Programm für UX/UI-Design. Mit XD lassen sich visuelles Design und klickbare Prototypen nahtlos verbinden. Lernen Sie die wichtigsten Funktionen vom Entwurf am Bildschirm bis zum online geteilten Prototypen.

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/web-publishing/adobe-xd-cc/kurs-adobe-xd-basic

Neuste Foreneinträge


QuarkXPress in InDesign

Mikrotypografie im Englischen (USA)

Bilderdruckpapier ohne OBA, gibt es noch?

Ende Zeichenformat suchen

Benutzerdefinierte Eigenschaft in Formularfeld schreiben

QXP 2020 Testinstallation

Zeichenstift erkennt Objektkontur. Und Illustrator?

extendStudio stellt die Arbeit an Plugins f�r DW ein.

Time Machine konnte das Backup auf �Elements_10� nicht abschlie�en.

Lesezeichen mit Adobe Acrobat X Pro
medienjobs