hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 3 » »  
lübcke S
Beiträge: 23
4. Nov 2009, 20:14
Beitrag #1 von 40
Bewertung:
(13427 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo,

kann mir jemand sagen ob es in InDesign CS4 die Möglichkeit gibt die Farbfelder automatisch sortieren zu lassen? Ich weiss dass es von Hand möglich ist indem man die Farbfelder einfach an die richtige Stelle schiebt aber bei 50 Farbfeldern wirds dann schon schwiereiger.

Vielleicht hat ja jemand eine Idee, würde mich freuen.
Danke schon mal,
Tino
Top
 
X
Hans Haesler  M  p
Beiträge: 5581
5. Nov 2009, 23:37
Beitrag #2 von 40
Beitrag ID: #413947
Bewertung:
(13350 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Tino,

hier ist eine Idee. Eine etwas brutale JavaScript-Lösung ...

1. Die Namen der Farbfelder auflisten.
2. Alle Farbfelder umbenennen.
3. Die Namen sortieren.
4. Neue Farbfelder erzeugen. Alte Namen und Properties zuweisen.
5. Die umbenannten löschen und durch die neuen ersetzen.

Code
var curDoc = app.documents[0]; 
// die Farbfelder des Dokuments
var allSwatches = curDoc.swatches;

// die Namen der Farbfelder auflisten
var colorNames = allSwatches.everyItem().name;

var nColors = colorNames.length;
// eine Schleife durch die Farbfelder, ein "X" an den Namen anfügen
for (var i=4; i<nColors; i++) {
allSwatches[i].name = colorNames[i]+"X";
}

// "None", "Paper", "Black" und "Registration" aus der Namensliste entfernen
for (var i=0; i<4; i++) {
colorNames.shift();
}

// die gekürzte Namensliste sortieren
colorNames.sort();

nColors = colorNames.length;
var curName, newColor;
// eine Schleife durch die sortierte Liste
for (var i=0; i<nColors; i++) {
curName = colorNames[i];
try {
// ... ein Farbfeld erzeugen ...
newColor = curDoc.colors.add();
// ... den entsprechenden Namen aus der Liste zuweisen ...
newColor.name = curName;
// ... und die Properties des aktuellen alten zuweisen
newColor.properties = allSwatches.itemByName(curName+"X").properties;
// das aktuelle Farbfeld entfernen und durch das neue ersetzen
curDoc.swatches.itemByName(curName+"X").remove(newColor);
}
catch (e) {
}
}

Mit einem einfachen Testdokument und nur acht benutzerdefinierten CMYK-Farbfeldern funktioniert das gut.

Ich überlasse es Dir herauszufinden, ob es mit einem echten Dokument aus der Produktion auch klappt.

Wie immer: Einsatz auf eigene Gefahr!

Gruss, Hans
als Antwort auf: [#413770] Top
 
Uwe Laubender S
Beiträge: 4107
6. Nov 2009, 01:03
Beitrag #3 von 40
Beitrag ID: #413954
Bewertung:
(13338 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo, Hans!
Schöne Idee.
Da sich aber die ersten vier Farbbezeichnungen [Ohne], [Papier], [Schwarz] und [Passermarken] auch verschieben lassen, müßtest Du sie mit einer anderen Methode loswerden. Du kannst nicht davon ausgehen, daß diese als nColors[0],nColors[1],nColors[2] und nColors[3] in der Liste auftauchen.
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#413947] Top
 
Martin Fischer  M  p
Beiträge: 11841
6. Nov 2009, 06:36
Beitrag #4 von 40
Beitrag ID: #413960
Bewertung:
(13322 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Hans,

gute Idee!
Warst Du wieder Rad fahren? ;-)

Viele Grüße
Martin
als Antwort auf: [#413947] Top
 
Hans Haesler  M  p
Beiträge: 5581
6. Nov 2009, 08:56
Beitrag #5 von 40
Beitrag ID: #413970
Bewertung:
(13288 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Martin,

nein, habe ich nicht. Es muss die nachhaltige Wirkung sein. :-)

Hallo Uwe,

Wer macht denn sowas? Aber gut, ich kehre zu meiner allerersten Version zurück und wandle sie ein bisschen ab.

Ich habe den Code nun in der ID-Skripten-Datenbank gepostet:
FarbfelderSortieren.js

Gruss, Hans
als Antwort auf: [#413960] Top
 
lübcke S
Beiträge: 23
6. Nov 2009, 11:07
Beitrag #6 von 40
Beitrag ID: #413986
Bewertung:
(13250 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Hans,

funktioniert super, das einzige Problem ist dass das Skript wohl zwischen Groß- und Kleinschreibung unterscheidet, also es sortiert zuerst alle Farben mit großem Anfangsbuchstaben (Rot) und dann die mit kleinen (rot). Kann das sein oder hab ich was falsch gemacht?

Viele Grüße,
Tino
als Antwort auf: [#413947] Top
 
Hans Haesler  M  p
Beiträge: 5581
6. Nov 2009, 11:43
Beitrag #7 von 40
Beitrag ID: #413999
Bewertung:
(13238 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Tino,

schön, dass es funktioniert.

Es ist nun mal so dass Namen, welche mit Kleinbuchstaben beginnen, erst nach dem "Z" eingereiht werden.

Und ja, Du hast was falsch gemacht. Nämlich die Namen nicht einheitlich getippt. ;-)

Abhilfe? Ich könnte versuchen, im Script eine Korrektur einzufügen: Kleinbuchstaben am Anfang der Namen werden in Grossbuchstaben verwandelt. Oder umgekehrt.

Falls die Kleinbuchstabenanfänge erhalten bleiben müssen, könnte sich das Script merken, welche Namen klein anfangen und sie nach dem Sortieren wiederherstellen.

Gruss, Hans
als Antwort auf: [#413986] Top
 
lübcke S
Beiträge: 23
6. Nov 2009, 11:52
Beitrag #8 von 40
Beitrag ID: #414004
Bewertung:
(13228 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Hans,

das Problem ist daß die Farbnamen mit Zeichenstilvorlagen verknüpft sind und daher in der Groß-/Kleinschreibung so erhalten bleiben müssten wie sie sind, weil ich die Daten nur so übernehmen kann wie ich sie selbst bekomme... :-(

Wenn Du da eine Möglichkeit siehst die Groß-/Kleinschreibung zu erhalten wäre ich Dir dankbar, da ich mich momentan bei der Suche nach einer Farbe durch ca. 100 unsortierte Farbnamen durchwühlen muß und schon alles doppelt sehe ;-)

Vielen Dank und viele Grüße,
Tino
als Antwort auf: [#413999] Top
 
WernerPerplies
Beiträge: 2200
6. Nov 2009, 12:01
Beitrag #9 von 40
Beitrag ID: #414006
Bewertung:
(13221 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Hans,

Sortierung: CaseInsenitive

Wie wärs mit Array oder Collection (gibt's doch sicherlich, oder?),
Je Element einmal das Orginal, einmal Orginal2Uppercase laden, nach Uppercase-Elementen sortieren und anschließend Orginale in der neuen Reihenfolge auslesen?

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING
als Antwort auf: [#413999] Top
 
Uwe Laubender S
Beiträge: 4107
6. Nov 2009, 12:03
Beitrag #10 von 40
Beitrag ID: #414009
Bewertung:
(13217 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo, Hans!
Ich habe mir erlaubt Dein Script zu modifizieren. Es funktioniert nun auch dann, wenn kein Dokument geöffnet ist. Es soll ja den Fall geben, daß die Standardfarben erweitert worden sind und dann sortiert dargestellt werden müssen:

// Edit: Das Script wurde von mir hier gelöscht, weil der Autor es für den Premiumbereich vorgesehen hatte.
Ich werde Hans bitten, die Variation an gleicher Stelle mit einzupflegen.//

Die sort()-Geschichte zu verbessern habe ich auch schon versucht. Leider nur mit mäßigem Erfolg. Folgende Abfolge von Farbnamen:
5
1
11
22
2

bringt folgendes Ergebnis:
1
11
2
22
5
Gibt's da ne Funktion, die das richtig sortiert?
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#413970]
(Dieser Beitrag wurde von Gerald Singelmann am 6. Nov 2009, 12:42 geändert)
Top
 
Hans Haesler  M  p
Beiträge: 5581
6. Nov 2009, 12:08
Beitrag #11 von 40
Beitrag ID: #414011
Bewertung:
(13213 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Tino,

die Verknüpfung würde erhalten bleiben. Das alte Farbfeld wird gelöscht und durch das neue ersetzt. Bei allen Vorkommen im Dokument wird das automatisch angepasst.

Ich werde versuchen, beide Lösungen zu realisieren. Kann aber noch nicht sagen, ob es gelingen wird und wann die Scripts bereit sein werden.

Gruss, Hans
als Antwort auf: [#414004] Top
 
Hans Haesler  M  p
Beiträge: 5581
6. Nov 2009, 12:10
Beitrag #12 von 40
Beitrag ID: #414012
Bewertung:
(13206 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Werner,

ja, so in dieser Richtung werd ich es versuchen.

Gruss, Hans
als Antwort auf: [#414006] Top
 
lübcke S
Beiträge: 23
6. Nov 2009, 12:11
Beitrag #13 von 40
Beitrag ID: #414013
Bewertung:
(13205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Hans,

das wäre super, ist auch nicht furchtbar eilig bin ja schon froh wenn mir da jemand helfen kann.

Vielen Dank schon mal und Grüße,
Tino
als Antwort auf: [#414011] Top
 
Hans Haesler  M  p
Beiträge: 5581
6. Nov 2009, 12:16
Beitrag #14 von 40
Beitrag ID: #414015
Bewertung:
(13201 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Hallo Uwe,

was soll das?!?

Ich hatte das Script in der Datenbank gepostet und den Haken gesetzt, dass es nur Spendern zugänglich ist. Und Du postet es wieder frei zugänglich. :-(

Zum "richtigen" Sortieren von Zahlen, welche nicht mit füllenden Nullen getippt sind, kann man die NumSort-Funktion einsetzen.

Gruss, Hans
als Antwort auf: [#414009] Top
 
Uwe Laubender S
Beiträge: 4107
6. Nov 2009, 12:31
Beitrag #15 von 40
Beitrag ID: #414019
Bewertung:
(13192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Farbfelder aufsteigend sortieren von A-Z?


Sorry, Hans!
hatte darauf nicht geachtet. Nimm meine Version raus.
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#414015] Top
 
« « 1 2 3 » »  
X